我刚学会了当列表为空时,EXISTS返回0.
我正在使用这个处理一个列表:
rpoplpush source target
当我完成处理时,我仍然希望查看source
以查看它是否为空,但是如果密钥存在则还是如此。但由于列表为空,因此返回 0 。
EXISTS source
(integer) 0
有没有办法知道你的列表是空的,但密钥确实存在于redis中?
答案 0 :(得分:5)
在redis中,空列表不存在。如果在弹出元素列表后变为空,it is deleted。
if (listTypeLength(o) == 0) {
notifyKeyspaceEvent(NOTIFY_GENERIC,"del",
c->argv[1],c->db->id);
dbDelete(c->db,c->argv[1]);
}