【发布时间】:2018-10-29 10:35:30
【问题描述】:
我正在考虑使用这样的事务来实现一种分布式锁:
const lockId = 'myLock';
const lockRef = firebaseAdmin.database().ref(`/locks/${lockId}`);
lockRef.transaction(function(current) {
if (current === null) {
return '1';
}
}, function(error, committed) {
if (committed) {
// .... Do the synchronized work I need ...
lockRef.remove();
}
});
我的问题是:只有在数据不存在的情况下才会用null调用update函数吗?
一般来说,这是实现分布式锁的有效方式吗?
【问题讨论】:
标签: javascript firebase firebase-realtime-database transactions mutex