redis keys hkeys scan筛选
2021/8/25 19:07:37
本文主要是介绍redis keys hkeys scan筛选,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
查找符合某个条件比如前缀为cart_的key,这里我预先插入了一万条数据,在正式开始之前先说一下keys 指令的匹配规则:
keys pattern里面有3个通配符 分别是 *,?,[]
- *:通配多个任意字符
- ?:通配单个字符
- []:通配数组内的某个字符
这些通配都可以组合使用,比如我插入了四个键
keys *l* //代表含有l的键 // "cdf_xl"、"abc_lele" keys *_? //代表倒数第二个为_的键 //"1_c" keys *[_xl]? //代表倒数第二个在[]里面的都会被返回 // "cdf_xl"、"abc_lele"、"1_c" KEYS h?llo 命中hello, hallo and hxllo等。 KEYS h*llo 命中hllo和heeeeello等。 KEYS h[ae]llo 命中hello和hallo,但不命中hillo。 KEYS h[a-z]llo KEYS hello[0-9] 特殊符号用"\"隔开
keys 优点呢 ,使用简单当然了,也有缺点如果数据量很大,会导致 Redis 服务卡顿,所有读写 Redis 的其它的指令都会被延后甚至会超时报错。hkeys返回哈希表key中的所有域
这个就是从0开始查找以cart打头的大概100条数据
scan 0 match cart* count 100
返回 "66048",可以用作下一次迭代
scan 66048 match cart* count 100
每次只返回一小部分的键,这样不会阻塞服务器,一下子在网络传输大量数据,个人感觉和前端一下子很多数据传过来导致页面崩溃,然后用分页解决差不多。但要值得注意的是使用迭代器的总时间是比keys指令要长的。如果在scan的过程中如果有键的变化(增加、 删除、 修改) ,遍历效果可能会碰到如下问题: 新增的键可能没有遍历到, 遍历出了重复的键等情况, 也就是说scan并不能保证完整的遍历出来所有的键, 我们在使用的过程中需要考虑到这一点。
这篇关于redis keys hkeys scan筛选的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07Redis高并发入门详解
- 2024-12-07Redis缓存入门:新手必读指南
- 2024-12-07Redis缓存入门:新手必读教程
- 2024-12-07Redis入门:新手必备的简单教程
- 2024-12-07Redis入门:新手必读的简单教程
- 2024-12-06Redis入门教程:从安装到基本操作
- 2024-12-06Redis缓存入门教程:轻松掌握缓存技巧
- 2024-12-04Redis入门:简单教程详解
- 2024-11-29Redis开发入门教程:从零开始学习Redis
- 2024-11-27Redis入门指南:快速掌握Redis基础操作