由于 keys 命令可能会导致 Redis 进程挂带,因此部分云厂商会禁用此命令,如网易云,那么在这种情况下如何批量删除 key?
可以考虑 scan+match 的方式迭代获取到所有的 key,然后批量删除。
示例 python 代码如下:
import redis
pool = redis.ConnectionPool(host='10.173.39.233', port=6379, db=0, password=密码)
r = redis.Redis(connection_pool=pool)
key_list = []
for key in r.scan_iter(match='name*', count=10000):
key_list.append(key)
for key in key_list:
r.delete(key)