Redis“nil”或“空列表或集”

时间:2012-12-11 10:06:07

标签: redis

我目前正在使用redis使用“set”结构。

我想知道是否可以自动清空“set”?

否则找一个cron /进程定期清空“set”


更新

更通用的问题,“(nil)”和“(空列表或集合)”之间存在差异(内存使用)

示例:

sadd x 1
srem x
smembers x
(empty list or set)

sadd x 1
del x
smembers x
(nil)

1 个答案:

答案 0 :(得分:6)

这已经是自动的了。当一个集合为空时,它将从命名空间中删除。

> flushall
OK
> sadd x 1 2 3
(integer) 3
> keys *
1) "x"
> srem x 1 2 3
(integer) 3
> keys *
(empty list or set)

您无需执行任何特定操作即可从此行为中受益。

要回答第二个问题,(零)或(空列表或集合)只是对客户端程序的解释。在Redis服务器中,在两种情况下,都已物理删除该条目,并释放相关的内存。