如何批量删除Redis下特定pattern的keys
答案:3 悬赏:10 手机版
解决时间 2021-01-24 20:43
- 提问者网友:鼻尖触碰
- 2021-01-23 23:24
如何批量删除Redis下特定pattern的keys
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-01-24 00:23
在linux中 批量操作redis中的 keys的方法:
1.统计个数:
redis中名称含有OMP_OFFLINE的key的个数;
src/redis-cli keys "*OMP_OFFLINE*"|wc -l
2.批量删除
批量删除 0号数据库中名称含有OMP_OFFLINE的key:
src/redis-cli -n 0 keys "*OMP_OFFLINE*"|xargs src/redis-cli -n 0 del
在redis的客户端环境中并不支持批量删除。
1.统计个数:
redis中名称含有OMP_OFFLINE的key的个数;
src/redis-cli keys "*OMP_OFFLINE*"|wc -l
2.批量删除
批量删除 0号数据库中名称含有OMP_OFFLINE的key:
src/redis-cli -n 0 keys "*OMP_OFFLINE*"|xargs src/redis-cli -n 0 del
在redis的客户端环境中并不支持批量删除。
全部回答
- 1楼网友:笑迎怀羞
- 2021-01-24 03:35
consider KEYS as a command that should only be used in production environments with extreme care. It may ruin performance when it is executed against large databases. This command is intended for debugging and special operations, such as changing your keyspace layout. Don't use KEYS in your regular application code. If you're looking for a way to find keys in a subset of your keyspace, consider using sets.
del 命令没有参数个数限制,文档上没有指出
- 2楼网友:风格不统一
- 2021-01-24 01:57
方案一:用keys ‘str*’ 列出要删除的key,接linux管道删除(linux命令行执行)
1. 根据通配符查看待删除的 key : redis-cli keys "site_msg_999*”
2. 借助 linux 的 xargs 指令来完成这个动作:
redis-cli keys "*" | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径,如:/etc/redis-cli keys "*" | xargs /etc/redis-cli del
方案二:分两步先查询指定pattern的keys,再通过del key1 key2 key3 ...语句批量删除。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯