温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis中KEYS和SCAN命令的区别和建议

发布时间:2020-08-11 23:53:04 来源:ITPUB博客 阅读:324 作者:chenfeng 栏目:关系型数据库

当我们需要遍历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 命令返回的每个元素都是一个数据库键,该命令对数据库的性能影响比较小,因此推荐在生产环境中使用。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI