删除符合模式的Redis密钥

pftdvrlh  于 2023-02-28  发布在  Redis
关注(0)|答案(2)|浏览(93)

我使用Redis散列集来存储数据,格式如下:

hset b1.b2.b3 name test

现在我想删除此密钥,因此我使用以下格式:

del b1.b2.*

但它不工作,所以我如何删除Redis密钥使用模式?

qvtsj1bj

qvtsj1bj1#

Redis没有提供任何删除批量键的方法,但是可以使用redis-cli沿着xargs来完成你要做的事情,参见下面的命令:

127.0.0.1:6379> hset b1.b2.b3 name test
(integer) 1
127.0.0.1:6379> hgetall b1.b2.b3
1) "name"
2) "test"
$ redis-cli --scan --pattern b1.b2.* | xargs redis-cli del
(integer) 1
$ redis-cli
127.0.0.1:6379> hgetall b1.b2.b3
(empty list or set)

我们使用'--scan'扫描redis中的模式,并使用xargs方法再次将输出提供给redis-cli,xargs方法将扫描结果中的所有键组合在一起,最后我们使用'del'命令删除所有键。

mbskvtky

mbskvtky2#

你可以用上面的模式来做。
您可以执行SCAN,然后删除密钥,直到没有任何内容(光标为0)
https://redis.io/commands/scan

相关问题