如何确定我的列表何时存在但是为空?

时间:2017-03-02 16:52:21

标签: redis

我刚学会了当列表为空时,EXISTS返回0.

我正在使用这个处理一个列表:

rpoplpush source target

当我完成处理时,我仍然希望查看source以查看它是否为空,但是如果密钥存在则还是如此。但由于列表为空,因此返回 0

EXISTS source
(integer) 0

有没有办法知道你的列表是空的,但密钥确实存在于redis中?

1 个答案:

答案 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]);
    }