

















这是一个创建于 1047 天前的主题,其中的信息可能已经有所发展或是发生改变。
使用下面的命令可以查到一堆 key
redis-cli -a myPassword -h redis-host -p 6379 --scan --pattern '*myKey*'
但使用下面的命令,却无法删除成功
redis-cli -a myPassword -h redis-host -p 6379 --scan --pattern '*myKey*' | xargs redis-cli -a myPassword -h redis-host -p 6379 unlink
(integer) 0
当然了, 把 unlink 改成 del 也是一样的效果, 不知道大家有没有解决过一样的问题?
1 Azone 2023 年 7 月 14 日xargs 是不是少个 -n 1 的参数 |
3 Red998 2023 年 7 月 14 日用 lua 脚本删除呗 、数据不多 就直接 del |
4 Red998 2023 年 7 月 14 日unlink 可不一样 虽然是卸载了查询不到 但是 redis 还没有真正释放内存、有定时任务会清理。del 就是直接释放内存空间。但是如果大 key 删除就会阻塞其他命令 |
5 aaronkk 2023 年 7 月 14 日据量大的话要避免阻塞,用 unlink 异步删除比 del 更安全 |
6 8355 2023 年 7 月 14 日用 lua 脚本 |
9 aaronkk 2023 年 7 月 14 日集群,带上-c 参数试试 |
11 JimmyChan1506OP @Azone 加了-t 和-n 1 参数后, 发现是把 key 按空格键对一个 key 进行多行分割了, 不明白为何加了 -n 1 之后还是会出现这种情况 ..... |
12 JimmyChan1506OP key 是类似于 "aaa::bb{cc='a', id=null } theReqeust[id=null;no=aa;]" 这样的形式 |
13 rrfeng 2023 年 7 月 14 日 via Android先看看 scan 。的输出啊,不一定是只有 key |
14 yangxx 2023 年 7 月 14 日用这样的命令试下,redis-cli -h localhost --scan --pattern '*test*' |xargs -n 1 echo unlink |redis-cli -h localhost |
15 pubby 2023 年 7 月 14 日 via iPhone按行读取试试 SCAN | while read k; do DEL $k; done |
16 dorothyREN 2023 年 7 月 14 日redis-cli -a myPassword -h redis-host -p 6379 keys '*myKey*' | | xargs redis-cli -a myPassword -h redis-host -p 6379 DEL |
17 worldOnlyYou 2023 年 7 月 15 日redis-cli scan 返回的 key 前面还有序号的,你这样直接删肯定不行 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。