我使用Redis散列集来存储数据,格式如下:
hset b1.b2.b3 name test
现在我想删除此密钥,因此我使用以下格式:
del b1.b2.*
但它不工作,所以我如何删除Redis密钥使用模式?
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'命令删除所有键。
mbskvtky2#
你可以用上面的模式来做。您可以执行SCAN,然后删除密钥,直到没有任何内容(光标为0)https://redis.io/commands/scan
SCAN
2条答案
按热度按时间qvtsj1bj1#
Redis没有提供任何删除批量键的方法,但是可以使用redis-cli沿着xargs来完成你要做的事情,参见下面的命令:
我们使用'--scan'扫描redis中的模式,并使用xargs方法再次将输出提供给redis-cli,xargs方法将扫描结果中的所有键组合在一起,最后我们使用'del'命令删除所有键。
mbskvtky2#
你可以用上面的模式来做。
您可以执行
SCAN
,然后删除密钥,直到没有任何内容(光标为0)https://redis.io/commands/scan