📅  最后修改于: 2023-12-03 15:41:56.330000             🧑  作者: Mango
在 Redis 中,有时候我们需要删除某个模式下的所有键。比如,可能需要清理掉一些临时的键,或者删除特定前缀的所有键。
为此,Redis 提供了 SCAN
命令,它可以用于迭代一组模式匹配的键。使用 DEL
命令可以删除这些键。
下面是一个示例程序,它可以迭代所有 foo:*
开头的键,并删除它们:
import redis
redis_client = redis.Redis(host='localhost', port=6379)
cursor = '0'
while True:
cursor, keys = redis_client.scan(cursor=cursor, match='foo:*')
for key in keys:
redis_client.delete(key)
if cursor == b'0':
break
这个程序中,我们首先创建了一个 Redis 客户端,然后使用 SCAN
命令迭代所有以 foo:*
开头的键。由于 SCAN
命令返回的是一个游标和一组键,因此可以使用循环来逐个处理这些键。
对于每个键,我们调用 DELETE
命令将其删除。最后,当游标返回 0
时,说明所有键都已经迭代完毕,循环可以结束。
以上是一个 Python 版本的示例程序。对于其他编程语言,也可以使用类似的技术来实现迭代 Redis 键并删除的功能。
参考文献: