目录
- 前言
- 事故产生
- 分析原因
- 解决方案
- 总结
前言
有时候我们需要知道线上的redis的使用情况,尤其需要知道一些前缀的key值,让我们怎么去查看呢?今天老顾分享一个小知识点
事故产生
因为我们的用户token缓存是采用了【user_token:userid】格式的key,保存用户的token的值。我们运维为了帮助开发小伙伴们查一下线上现在有多少登录用户。
直接用了keys user_token*方式进行查询,事故就此发生了。导致redis不可用,假死。
分析原因
我们线上的登录用户有几百万,数据量比较多;keys算法是遍历算法,复杂度是O(n),也就是数据越多,时间复杂度越高。
数据量达到几百万,keys这个指令就会导致 Redis 服务卡顿,因为Redis 是单线程程序,顺序执行所有指令,其它指令必须等到当前的 keys 指令执行完了才可以继续。
解决
继续阅读与本文标签相同的文章
-
ASP.NET Core on K8S深入学习(8)数据管理
2026-05-19栏目: 教程
-
AI翻译新思路,OBTranslate打破非洲城乡居民之间的沟通差距
2026-05-19栏目: 教程
-
物联网平台实用技巧:调用API获取设备状态
2026-05-19栏目: 教程
-
路漫漫其修远兮,吾将上下而求索
2026-05-19栏目: 教程
-
Kerberos使用OpenLDAP作为backend
2026-05-19栏目: 教程
