redis做缓存,怎么取出全部key
redis做缓存的时候,怎么取出全部相同前缀的key,百度到很多都是keys,scan
获取当前库下的所有key
可以使用 keys * 命令,keys支持模糊匹配,但是cpu使用率有点高。还有一种就是scan命令
SSCAN key cursor [MATCH pattern] [COUNT count]
cursor - 游标。
pattern - 匹配的模式。
count - 指定从数据集里返回多少元素,默认值为 10 。
实例
> SADD myset1 "Google"
(integer) 1
> SADD myset1 "Runoob"
(integer) 1
> SADD myset1 "Taobao"
(integer) 1
> SSCAN myset1 0 match R*
1) "0"
2) 1) "Runoob"
其他方法:
设置一个set,在缓存的时候把数据的key存到这个set里面