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

当我们需要遍历redis所有key或者指定模式的key时,首先想到的是KEYS命令,例如:keys *

成都创新互联主要从事成都网站设计、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务丹凤,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

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


本文标题:Redis中KEYS和SCAN命令的区别和建议
网站链接:http://csruizhi.cn/article/gshcpp.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 成都网站制作 手机网站制作设计 营销网站建设 成都h5网站建设 成都网站建设 成都响应式网站建设 外贸网站建设 手机网站制作 成都网站制作 成都网站设计制作公司 成都网站建设 成都网站设计 外贸营销网站建设 网站建设 成都网站设计 成都品牌网站建设 自适应网站建设 营销网站建设 成都网站设计 成都网站建设公司 成都响应式网站建设 网站建设公司