当我们需要遍历Redis所有key或者指定模式的key时,首先想到的是KEYS命令,例如:keys *
相当于关系型数据库里的select *,因此在一个生产环境中的大Redis数据库中使用这个命令可能会造成性能问题。
从Redis2.8版本以后官方给我们提供了一个更好的遍历KEY的命令SCAN
语法为:
SCAN cursor [MATCH pattern] [COUNT count]
例如:
127.0.0.1:6379> scan 0 match *192.168*
1) "105"
2) 1) "192.168.0.220:6379:CommandCountByMinute"
2) "192.168.0.121:6379:memory"
3) "192.168.0.213:6379:CommandCount:1528190604"
4) "192.168.0.221:6379:KeyCount:1528190601"
5) "192.168.0.226:6379:KeyCount:1528190334"
6) "192.168.0.129:6379:CommandCount:1528121363"
7) "192.168.0.129:6379:KeyCount:1528121366"
SCAN 命令返回的每个元素都是一个数据库键,该命令对数据库的性能影响比较小,因此推荐在生产环境中使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。