测试环境
keys *
删除指定模式的 key:
redis-cli keys 'a.b.*' > /tmp/deleted_keys
cat /tmp/deleted_keys
cat /tmp/deleted_keys | xargs redis-cli del
线上环境
线上 keys 可能会导致严重的性能问题。
2.8 开始,Redis 增加了 4 个 SCAN 命令:
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]
遍历当前 db 中的所有键, 返回 keys ...SSCAN key cursor [MATCH pattern] [COUNT count]
遍历 set 类型,返回 value ...HSCAN key cursor [MATCH pattern] [COUNT count]
遍历 hash 类型,返回 (key, value)ZSCAN key cursor [MATCH pattern] [COUNT count]
遍历 sorted set 类型,返回 (score, member)
scan 0 count 100
每次会返回一个新的游标,用于下一次 scan 请求。
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
for key in r.scan_iter():
print(key)