我正在编写一个django管理命令来处理一些redis缓存.基本上,我需要 Select 所有符合特定模式(例如:"前缀:")的键,然后删除它们.
我知道我可以使用CLI来做到这一点:
redis-cli KEYS "prefix:*" | xargs redis-cli DEL
但我需要在应用程序内完成这项工作.所以我需要使用python绑定(我使用的是py redis).我try 将列表输入delete,但失败:
from common.redis_client import get_redis_client
cache = get_redis_client()
x = cache.keys('prefix:*')
x == ['prefix:key1','prefix:key2'] # True
#现在
cache.delete(x)
#返回0.没有删除任何内容
我知道我可以遍历x:
for key in x:
cache.delete(key)
但这将失go Redis令人惊叹的速度,并滥用其能力.有没有带y-redis,没有迭代和/或cli的Python解?
谢谢!