use*_*446 60
我用来做你想要的另一个紧凑的单线:
redis-cli KEYS "user*" | xargs redis-cli DEL
Run Code Online (Sandbox Code Playgroud)
Don*_*ner 47
现在这不是一次性的功能(参见DEL
文档中的注释).不幸的是,你只剩下使用KEYS
,循环结果,然后使用DEL
删除每一个.
如何使用bash来帮忙?
for key in `echo 'KEYS user*' | redis-cli | awk '{print $1}'`
do echo DEL $key
done | redis-cli
Run Code Online (Sandbox Code Playgroud)
要逐步完成:
echo 'KEYS user*' | redis-cli | awk '{print $1}'
- 获取所有密钥并删除awk不需要的额外文本.echo DEL $key
- 为每个人创建一个echo语句来删除它.| redis-cli
- 获取DEL语句并将它们传递回cli.不建议这是最好的方法(如果你的某些用户名中有空格,你可能会遇到一些问题,但希望你明白这一点).
除了橙色章鱼的回答之外,您不需要echo
和 管道,您可以将命令作为参数传递到redis-cli
. 这意味着你可以做到
for key in `redis-cli "KEYS" "user*" | awk '{print $1}'`
do redis-cli "DEL" "$key"
done
Run Code Online (Sandbox Code Playgroud)
使用awk
,使用redis-cli KEYS
命令和管道到redis-cli DEL
命令从 redis 中查找所有匹配的键。
redis-cli KEYS "user*" | awk '{ system("redis-cli DEL " $1) }'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
65379 次 |
最近记录: |