我目前正在使用“设置”结构使用Redis。
我想知道是否有可能自动清理空的“ set”吗?
否则找到一个cron /进程来定期清理空的“ set”
更新:
更笼统的问题是,“(nil)”和“(空列表或集合)”之间存在差异(内存使用情况)
例:
sadd x 1 srem x smembers x (empty list or set)
要么
sadd x 1 del x smembers x (nil)
这已经是自动的。如果集合为空,则将其从名称空间中删除。
> 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)或(空列表或集合)仅是对客户端程序的解释。在这两种情况下,在Redis服务器中,该条目已被物理删除,并且相关的内存已释放。