Redis有两个操作LPUSH
和BLPOP
BLPOP
-阻止所有客户端,直到将元素推送到列表中为止。 BLPOP
仅解除阻止一个客户端(等待时间最长的客户端)
LPUSH
-在列表中推送元素
我们可以使用这两个原语来实现分布式锁吗?
我以为lock
和unlock
就像
LOCK:
BLPOP key timeout
UNLOCK
LPUSH key dummy-value
锁定初始化可以使用初始dummy-value
这满足生活,进步和安全吗?