由于最近参与了简书日更,每天分享的知识点有限。今天就给大家分享一个redis查询指定范围key的小技巧吧!
在我们工作中,假设一个redis的db1中有n个key(我们假设这个key有这么多),如果我们要查询指定范围的key,该如何操作呢?
答案:大家估计第一时间会想到,直接遍历db中所有的key然后查找不就可以么?这个方法是没有问题的,但是消耗时间太长了。于是就会想,有没有一个正则一样的规则去获取所有范围的key呢,这样这个过程就会缩短很多!请看下面代码:
image.png
import redis
import sys
db_host = "127.0.0.1"
db_port = 6379
r = redis.StrictRedis(host=db_host, port=db_port)
for k in r.scan_iter("lie*"):
print(k)
通过执行上面代码后,我们看下面的输出结果,就能匹配出我们想要的redis key:
image.png
核心方法就是scan_iter(),此方法允许填写一个正则类型的str即可过滤出指定类型的redis key。
网友评论