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

Redis cli删除多个密钥
EN

Stack Overflow用户
提问于 2016-11-18 21:12:31
回答 6查看 23.6K关注 0票数 8

我在centos中安装了Redis,我有多个redis的密钥,如下所示。

代码语言:javascript
复制
Product:<id>:<url>

如何使用命令行工具删除所有Product:*:*

Redis版本: 3.2.4最新版本

谢谢!

EN

回答 6

Stack Overflow用户

发布于 2016-11-19 00:32:15

使用redis-cli工具,您可以执行以下操作:

代码语言:javascript
复制
redis-cli --scan --pattern 'Product:*:*' | xargs redis-cli DEL
票数 20
EN

Stack Overflow用户

发布于 2016-11-18 21:27:20

没有内置的命令来处理这个问题。您必须使用SCAN命令获取与模式匹配的所有密钥,然后使用DEL命令删除这些密钥。

代码语言:javascript
复制
// scan from cursor 0 to get the next cursor and keys
SCAN 0 match Product:*:*
// next_cursor, Product:x1:y1, Product:x2:y2, ...
DEL Product:x1:y1 Product:x2:y2 ...
// scan from the next cursor until it return 0
SCAN next_cursor match Product:*:*

另一种解决方案是使用HASH保存此模式的密钥:

代码语言:javascript
复制
// set key value
HSET Products Product:<id>:<url> value
// remove a single key
HDEL Products Product:<id>:<url>
// remove all keys
DEL Products
票数 5
EN

Stack Overflow用户

发布于 2019-05-29 18:07:07

代码语言:javascript
复制
-n <db>            Database number

外壳:redis-cli -n 1 --scan --pattern prefix:* | xargs redis-cli -n 1 del

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

https://stackoverflow.com/questions/40678022

复制
相关文章

相似问题

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