redis - 对待一个空列表与不存在的列表不同?

时间:2015-02-03 19:12:48

标签: python redis

我有一段时间没有使用redis而且我将python多处理中的所有共享内存项代码(除了队列)移植到使用redis缓存之前,我需要重新实现我的锁。 我在这里找到了这个答案:https://stackoverflow.com/a/20182448/3467349 - 建议使用brpop作为锁。

但如果无法预先实例化所有必要的列表,那么这将无效。是否有一种特殊的方法可以区分nil与不存在的密钥和nil

1 个答案:

答案 0 :(得分:0)

Redis中没有空列表 - 一旦列表没有元素,它就会被删除。您可以使用EXISTS命令验证它。

然而,对于BRPOP,您不必担心 - 即使密钥不存在,操作也会继续,直到另一个客户端将某些内容推入该列表或超时&# 39;到期。