我目前正在使用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)
答案 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服务器中,在两种情况下,都已物理删除该条目,并释放相关的内存。