在我的redis数据库中,我试图删除一系列以以下开头的键:EPOCH_vgsOwnedVehs_
我尝试了以下方法:
redis-cli -h 127.0.0.1 -p myport -a mypassword --scan --pattern EPOCH_vgsOwnedVehs_* | xargs redis-cli unlink
和redis-cli -h 127.0.0.1 -p myport -a mypassword --scan --pattern EPOCH_vgsOwnedVehs_* | xargs redis-cli -h 127.0.0.1 -p myport -a mypassword unlink
但是,我收到以下错误消息:'xargs' is not recognized as an internal or external command, operable program or batch file.
任何人都可以帮助为什么xargs在这种情况下不起作用?我看到上面相同的语法在这里已经被提及很多次了,似乎对其他人也有用...编辑:我忘了提一下,当我在管道之前运行该行的前半部分时,它确实返回了所有符合条件的键。
最佳答案
以下应做的工作; (添加了示例打印输出)
redis-cli -h 127.0.0.1 -p 6379 -a mypass --scan --pattern EPOCH_vgsOwnedVehs_* | xargs redis-cli -h 127.0.0.1 -p 6379 -a mypass unlink
127.0.0.1:6379> config set requirepass mypass
OK
127.0.0.1:6379> auth mypass
OK
127.0.0.1:6379> set EPOCH_vgsOwnedVehs_a a
OK
127.0.0.1:6379> set EPOCH_vgsOwnedVehs_b a
OK
127.0.0.1:6379> set EPOCH_vgsOwnedVehs_c a
OK
127.0.0.1:6379> set EPOCH_vgsOwnedVehs_d a
OK
127.0.0.1:6379>
redis-cli -h 127.0.0.1 -p 6379 -a mypass --scan --pattern EPOCH_vgsOwnedVehs_* | xargs redis-cli -h 127.0.0.1 -p 6379 -a mypass unlink
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 4
127.0.0.1:6379> auth mypass
OK
127.0.0.1:6379> exists EPOCH_vgsOwnedVehs_a
(integer) 0
关于redis - 删除Redis中的多个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62540238/