在Redis中清空/删除一组?

Abe*_*ker 65 set redis

也许我只是盲目,但我没有在Redis中看到一个显式的set命令,用于清空现有的一组(不清空整个数据库).目前,我正在对集合进行设置差异并将其存储回自身:

redis> SMEMBERS metasyn
1) "foo"
2) "bar"
redis> SDIFFSTORE metasyn metasyn metasyn
(integer) 0
redis> SMEMBERS metasyn
(empty list or set)
Run Code Online (Sandbox Code Playgroud)

但这看起来有点傻......有没有更好的方法呢?

Anu*_*rag 98

您可以完全删除该集DEL.

DEL metasyn
Run Code Online (Sandbox Code Playgroud)

从redis控制台,

redis> SMEMBERS metasyn
1) "foo"
2) "bar"
redis> DEL metasyn
(integer) 1
redis> SMEMBERS metasyn
(empty list or set)
Run Code Online (Sandbox Code Playgroud)

  • 我知道了; 我认为这是有道理的.好吧,我会把这个令人尴尬的问题留给像我一样没有打扰[教程](http://redis.io/topics/data-types-intro)的下一个傻瓜.:-) (8认同)
  • 是的,我花了一段时间来计算那个...... [`Keys`](http://redis.io/commands#generic)中的命令全局适用于所有键,无论数据类型如何. (6认同)
  • 哇我想我应该先尝试一下,哈哈。出于某种原因,我认为该命令不适用于集合。谢谢! (3认同)
  • 因为空集意味着与不存在的集不同.考虑:newuser111:问题(新用户111的问题集)与不存在的用户:问题(假定由不存在的用户提供的问题集,不存在的用户).有一个空集来区分两者是有用的. (3认同)