首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除Redis中的多个密钥

删除Redis中的多个密钥
EN

Stack Overflow用户
提问于 2020-06-24 01:13:23
回答 2查看 850关注 0票数 1

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

EPOCH_vgsOwnedVehs_

我尝试过以下几种方法:

代码语言:javascript
复制
redis-cli -h 127.0.0.1 -p myport -a mypassword --scan --pattern EPOCH_vgsOwnedVehs_* | xargs redis-cli unlink

代码语言:javascript
复制
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

但是,我得到了以下错误消息:

代码语言:javascript
复制
'xargs' is not recognized as an internal or external command, operable program or batch file.

有人能解释一下为什么xargs在这种情况下不能工作吗?我看到上面同样的语法在这里被提到了很多次,似乎对其他人也是有效的……

编辑:我忘了提到,当我在管道之前运行行的前半部分时,它确实返回了所有符合条件的键。

EN

回答 2

Stack Overflow用户

发布于 2020-06-24 02:22:33

下面的代码可以完成这项工作;(添加了一个打印输出示例)

redis-cli -h 127.0.0.1 -p 6379 -a绕过--扫描--模式EPOCH_vgsOwnedVehs_* | xargs redis-cli -h 127.0.0.1 -p 6379 -a绕过取消链接

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2020-06-25 13:15:39

xargs是一个常见的Linux实用程序,您看到的消息表明您正在使用Windows。你有几个选择让它工作--你可以找到xargs的Windows替代品,使用Cygwin,使用Powershell,等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62540238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档