【文件属性】:
文件名称:level-lock:leveldb 键的内存中建议读写锁
文件大小:6KB
文件格式:ZIP
更新时间:2021-06-04 14:45:25
JavaScript
水平锁定
leveldb 键的内存中建议读/写锁
例子
锁定的一个非常常见的用例是在检查用户名是否被占用时防止竞争条件。
在一个简单的解决方案中,一个get()后跟一个put()冒着 2 个请求可能几乎同时进入的风险,并且对get()两次调用都可以在对put()任一调用之前完成,从而导致 2调用put()并使数据库处于不一致状态。
但是,如果我们在使用get()检查该键是否存在之前获取该键的写锁,然后仅在put()完成后释放锁,则可以安全地执行操作序列。
下面是一个例子:
var level = require ( 'level' ) ;
var db = level ( '/tmp/users.db' , { valueEncoding : 'json' } ) ;
var lock = require ( 'level-lock' ) ;
var username = pro
【文件预览】:
level-lock-master
----test()
--------useradd.js(1KB)
--------bytewise.js(1KB)
----LICENSE(1KB)
----package.json(683B)
----readme.markdown(3KB)
----index.js(1KB)
----example()
--------useradd.js(683B)
--------race.js(740B)
----.travis.yml(94B)