Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Redis中删除多个键_Redis_Xargs - Fatal编程技术网

在Redis中删除多个键

在Redis中删除多个键,redis,xargs,Redis,Xargs,在我的redis数据库中,我尝试删除一系列以以下开头的键: EPOCH\u vgsOwnedVehs\u 我尝试了以下方法: redis-cli -h 127.0.0.1 -p myport -a mypassword --scan --pattern EPOCH_vgsOwnedVehs_* | xargs redis-cli unlink 及 但是,我收到以下错误消息: 'xargs' is not recognized as an internal or external command

在我的redis数据库中,我尝试删除一系列以以下开头的键:

EPOCH\u vgsOwnedVehs\u

我尝试了以下方法:

redis-cli -h 127.0.0.1 -p myport -a mypassword --scan --pattern EPOCH_vgsOwnedVehs_* | xargs redis-cli 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-mypass-扫描-模式历元\u vgsOwnedVehs_*| xargs redis cli-h 127.0.0.1-p 6379-mypass取消链接


以下几点应该做的工作;(添加了打印输出示例)

redis cli-h 127.0.0.1-p 6379-mypass-扫描-模式历元\u vgsOwnedVehs_*| xargs redis cli-h 127.0.0.1-p 6379-mypass取消链接



xargs
是一个常见的Linux实用程序,您看到的消息表明您正在使用Windows。在这里,您有两种选择来实现这一点-您可以找到Windows的替代方案
xargs
、使用Cygwin、使用Powershell等等。

xargs
是一种常见的Linux实用程序,您看到的消息表明您正在使用Windows。您可以在这里选择两种方法来实现这一点-您可以找到Windows的替代方法
xargs
、使用Cygwin、使用Powershell等等。

谢谢您的回答。我试过了,得到了完全相同的结果:
'xargs'不被识别为内部或外部命令、可操作程序或批处理文件。
@BaroN您使用windows吗?是的。Windows server 2012r2@BaroNxargs在windows上不可用-我认为这就是您出现错误的原因。您可能需要安装一些工具来使用
xargs
,例如谢谢,这让我更进一步了,但现在我收到了错误消息
(error)ERR unknown命令“unlink”
谢谢您的回答。我试过了,得到了完全相同的结果:
'xargs'不被识别为内部或外部命令、可操作程序或批处理文件。
@BaroN您使用windows吗?是的。Windows server 2012r2@BaroNxargs在windows上不可用-我认为这就是您出现错误的原因。您可能需要安装一些工具来使用
xargs
,例如谢谢,这让我更进一步了,但现在我收到了错误消息
(error)ERR unknown命令“unlink”
谢谢您的解释。我尝试在redis文件夹外运行powershell,但出现以下错误:
redis cli:术语“redis cli”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在第1行中,char:1+redis cli-h 127.0.0.1-p 6381-a mypass--scan--pattern EPOCH\u vgsOwnedVehs_*+~~~~~~~~~~~~~~+CategoryInfo:ObjectNotFound:(redis cli:String)[],CommandNotFoundException+FullyQualifiedErrorId:CommandNotFoundException
Powershell需要与Linux Shell类似的符号-因此,如果要从当前文件夹运行某些内容,需要在其前面加上前缀。\,例如..\redis-cli谢谢,这也让我有了一些进一步的了解,但问题与上面相同,我收到以下错误消息
(error)ERR unknown命令“unlink”
,感谢您的解释。我尝试在redis文件夹外运行powershell,但出现以下错误:
redis cli:术语“redis cli”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在第1行中,char:1+redis cli-h 127.0.0.1-p 6381-a mypass--scan--pattern EPOCH\u vgsOwnedVehs_*+~~~~~~~~~~~~~~+CategoryInfo:ObjectNotFound:(redis cli:String)[],CommandNotFoundException+FullyQualifiedErrorId:CommandNotFoundException
Powershell需要与Linux Shell类似的符号-因此,如果要从当前文件夹运行某些内容,需要在其前面加上前缀。\,例如..\redis-cli谢谢,这也让我有了一些进一步的了解,但问题与上面相同,我收到以下错误消息
(error)ERR unknown命令“unlink”
'xargs' is not recognized as an internal or external command, operable program or batch file.
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