假设您在Redis中有一个LIST数据类型.你如何删除所有条目?我已经尝试过了:
LTRIM key 0 0
LTRIM key -1 0
Run Code Online (Sandbox Code Playgroud)
这两个都留下了第一个元素.这将留下所有元素:
LTRIM key 0 -1
Run Code Online (Sandbox Code Playgroud)
我没有看到完全清空列表的单独命令.
Anu*_*rag 130
删除密钥,这将清除所有项目.根本没有列表类似于没有任何项目.当您尝试访问不存在的密钥时,Redis不会抛出任何异常.
DEL key
Run Code Online (Sandbox Code Playgroud)
这是一些控制台日志.
redis> KEYS * (empty list or set) redis> LPUSH names John (integer) 1 redis> LPUSH names Mary (integer) 2 redis> LPUSH names Alice (integer) 3 redis> LLEN names (integer) 3 redis> LRANGE names 0 2 1) "Alice" 2) "Mary" 3) "John" redis> DEL names (integer) 1 redis> LLEN names (integer) 0 redis> LRANGE names 0 2 (empty list or set)
ahm*_*mdy 16
您可以删除所有值列表 只有在名单有多于一个值
LTRIM key -1 0
Run Code Online (Sandbox Code Playgroud)
例:
redis 127.0.0.1:6379> RPUSH mylist four 1 3 1
(integer) 4
redis 127.0.0.1:6379> KEYS *
1) "newKey"
2) "firstHash"
3) "secondList"
4) "test4"
5) "firstList"
6) "mylist"
redis 127.0.0.1:6379> LTRIM mylist -1 0
OK
redis 127.0.0.1:6379> LRANGE mylist 0 -1
(empty list or set)
redis 127.0.0.1:6379> KEYS *
1) "newKey"
2) "firstHash"
3) "secondList"
4) "test4"
5) "firstList"
Run Code Online (Sandbox Code Playgroud)
但如果List只有一个值,则必须使用
DEL key
Run Code Online (Sandbox Code Playgroud)
只需使用LTRIM即可。...Aaa这里的神奇之处在于使用start 大于 end。
LTRIM key 99 0
Run Code Online (Sandbox Code Playgroud)
还有……繁荣!这是整个元素列表。就在你眼前*噗*!!没有残留物,也绝对不会提出任何问题。
注意:这将导致密钥被“删除”(如删除),如此处所述
...如果 start 大于列表的末尾,或者 start > end,结果将是一个空列表(这会导致 key 被删除)。
| 归档时间: |
|
| 查看次数: |
50102 次 |
| 最近记录: |