如何删除redis中与特定模式匹配的键
How to delete keys matching a certain pattern in redis
如何使用redis-cli删除redis中与特定模式匹配的键。我想从以下列表中删除所有 foo。
KEYS *
foo:1
foo:2
bar:1
foo:3
bar:2
foo:4
正如问题评论中提到的,这里已经有很多其他答案。如果您正在考虑在生产服务器中执行此操作,请务必阅读上面链接的内容。
我发现对偶尔的命令行清理最有用的是:
redis-cli KEYS "*" | xargs redis-cli DEL
来自 "How to atomically delete keys matching a pattern using Redis".
我刚刚向 npm 和 github 发布了一个命令行界面实用程序,它允许您从 Redis 数据库中删除与给定模式(甚至 *)匹配的键。
您可以在此处找到该实用程序:
我想按模式删除数千个键,经过一些搜索我发现了这些点:
- 如果您在 Redis 上有多个数据库,您应该使用
-n [number]
确定数据库
- 如果您有几个密钥,请使用
del
,但如果有数千或数百万个密钥,则最好使用 unlink
,因为 unlink 是 non-blocking 当 del 阻塞时,有关更多信息,请访问此页面
- 也
keys
类似于 del 并且正在阻塞
所以我使用这段代码按模式删除键:
redis-cli -n 2 --scan --pattern '[your pattern]' | xargs redis-cli -n 2 unlink
如果有人想在 AWS Elasticache redis 中执行相同的操作,那么您可以使用 SSH 连接到您的 EC2 服务器,该服务器应该访问 AWS Redis 服务器,然后您可以使用以下命令。
redis-cli -h <HOST> -p <PORT> --scan --pattern "patter*n" | xargs redis-cli -h <HOST> -p <PORT> unlink
将主机和端口替换为 AWS redis 服务器主机和端口。
另外如果你的redis设置需要密码验证然后使用,
redis-cli -h <HOST> -p <PORT> -a <PASSWORD> --scan --pattern "patter*n" | xargs redis-cli -h <HOST> -p <PORT> -a <PASSWORD> unlink
将主机、端口和密码替换为 AWS redis 服务器主机、端口和密码。
您也可以对本地主机使用上述命令。
如何使用redis-cli删除redis中与特定模式匹配的键。我想从以下列表中删除所有 foo。
KEYS *
foo:1
foo:2
bar:1
foo:3
bar:2
foo:4
正如问题评论中提到的,这里已经有很多其他答案。如果您正在考虑在生产服务器中执行此操作,请务必阅读上面链接的内容。
我发现对偶尔的命令行清理最有用的是:
redis-cli KEYS "*" | xargs redis-cli DEL
来自 "How to atomically delete keys matching a pattern using Redis".
我刚刚向 npm 和 github 发布了一个命令行界面实用程序,它允许您从 Redis 数据库中删除与给定模式(甚至 *)匹配的键。
您可以在此处找到该实用程序:
我想按模式删除数千个键,经过一些搜索我发现了这些点:
- 如果您在 Redis 上有多个数据库,您应该使用
-n [number]
确定数据库
- 如果您有几个密钥,请使用
del
,但如果有数千或数百万个密钥,则最好使用unlink
,因为 unlink 是 non-blocking 当 del 阻塞时,有关更多信息,请访问此页面 - 也
keys
类似于 del 并且正在阻塞
所以我使用这段代码按模式删除键:
redis-cli -n 2 --scan --pattern '[your pattern]' | xargs redis-cli -n 2 unlink
如果有人想在 AWS Elasticache redis 中执行相同的操作,那么您可以使用 SSH 连接到您的 EC2 服务器,该服务器应该访问 AWS Redis 服务器,然后您可以使用以下命令。
redis-cli -h <HOST> -p <PORT> --scan --pattern "patter*n" | xargs redis-cli -h <HOST> -p <PORT> unlink
将主机和端口替换为 AWS redis 服务器主机和端口。
另外如果你的redis设置需要密码验证然后使用,
redis-cli -h <HOST> -p <PORT> -a <PASSWORD> --scan --pattern "patter*n" | xargs redis-cli -h <HOST> -p <PORT> -a <PASSWORD> unlink
将主机、端口和密码替换为 AWS redis 服务器主机、端口和密码。
您也可以对本地主机使用上述命令。