redis删除多个键出现问题
黄舟
黄舟 2017-04-22 09:00:42
0
1
616

在看《redis入门指南》这篇文章中,第三章第二节介绍删除键的时候,有这样一段描述:

DEL命令的参数不支持通配符,但我们可以结合Linux的管道和xargs命令自己实现删除所有符合规则的键。比如要删除所有以“user:”开头的键,就可以执行redis-cli
KEYS "user:" | xargs redis-cli
DEL。另外,由于DEL命令支持多个键作为参数,所以还可以执行redis-cli DEL 'redis-cli KEYS
"user:
"'来达到同样的效果,性能更好。

但是我测试的时候,第一个结合管道的命令能起作用,但是第二个貌似不起作用。
刚学习redis,请大神指教。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(1)
左手右手慢动作

Vous avez tort.

` et ' sont deux choses différentes.

Ils ont écrit

他们写的是
redis-cli DEL `redis-cli KEYS "user:"`

你写的是
redis-cli DEL 'redis-cli KEYS "user:"'

Faites attention à la différence.

Les guillemets simples traitent directement le contenu des guillemets simples comme une chaîne
redis-cli DEL 'redis-cli KEYS "user:"'
supprime la clé nommée redis-cli KEYS "user:" dans redis,

.

Les guillemets arrière doivent d'abord exécuter le contenu des guillemets arrière pour obtenir le résultat, c'est-à-dire

redis-cli DEL `redis-cli KEYS "user:"`

La première exécution est redis-cli KEYS "user:", et le résultat est récupéré (par exemple :)

user01
user02
user03

Puis exécutez

redis-cli DEL user01 \n user02 \n user03

Le problème ne vient pas de Redis, mais de la différence entre les guillemets simples et les guillemets arrière dans le shell.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal