在redis中删除多个键

piv4azn7  于 2021-06-10  发布在  Redis
关注(0)|答案(2)|浏览(504)

在我的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在这种情况下不起作用吗?我看到同样的语法在这里被提到了很多次,似乎对其他人有用。。。
edit:我忘了提到,当我在管道之前运行前半行时,它会返回所有符合条件的键。

9vw9lbht

9vw9lbht1#

应做好以下工作(添加了一个示例(打印输出)
redis cli-h 127.0.0.1-p 6379-a mypass--scan--pattern epoch_vgsownedvehs_124; 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
dy2hfwbg

dy2hfwbg2#

xargs 是一个常见的linux实用程序,您看到的消息表明您正在使用windows。你有几个选择在这里得到这个工作-你可以找到一个windows的替代品 xargs 、使用cygwin、使用powershell等。

相关问题