redis 使用注意事项SCAN KEYS FLUSHALL
最近在排查生产环境响应慢的问题时,通过排查数据库、内存、网络等指标,都未发现异常。
在排查redis慢日志时,发现调用了API底层的Keys命令,导致生产环境redis命令操作都比较慢,延迟比较大。
因此,
生产环境redis是不允许使用keys ,flushall这些命令的。
如果要使用类似keys的场景,需要换成scan命令
注:
SCAN、SSCAN、HSCAN、ZSCAN 4 个命令,分别用于集合、哈希键及有序集等。
- SCAN:命令用于迭代当前数据库中的数据库键,除了可以遍历所有的 key 之外,还可以对指定的容器集合进行遍历。
- SSCAN:命令用于迭代set集合键中的元素。
- HSCAN:命令用于迭代哈希键中的键值对。
- ZSCAN:命令用于迭代zset有序集合中的元素(包括元素成员和元素分值)。
命令格式如下:
SCAN cursor [MATCH pattern] [COUNT count]
scan 游标 MATCH <返回和给定模式相匹配的元素> count 每次迭代所返回的元素数量 SCAN 命令是增量的循环,每次调用只会返回一小部分的元素。所以不会有 KEYS 命令的坑(key 的数量比较多,一次 KEYS 查询会 block 其他操作)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2019-06-11 MVC和MVVM的区别
2019-06-11 常见的HTTP状态码(HTTP Status Code)