8

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

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

否则找到一个 cron/进程来定期清理空“集”


更新:

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

例子:

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

或者

sadd x 1
del x
smembers x
(nil)
4

1 回答 1

9

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

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

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

要回答您的第二个问题, (nil) 或 (empty list or set) 只是对客户端程序的解释。在 Redis 服务器中,在这两种情况下,条目都已被物理删除,并且相关的内存被释放。

于 2012-12-11T12:09:25.523 回答