redis - Redis SCAN 永远不会终止的可能性
问题描述
Redis SCAN 文档中有这样的注释:
只有当迭代集合的大小保持在给定的最大大小范围内时,SCAN 算法才会保证终止,否则迭代一个总是增长的集合可能会导致 SCAN 永远不会终止完整的迭代。
在 Redis 用于存储会话(因此可以不断扩展)的场景中,发生这种情况的可能性有多大?在生产中使用 SCAN 进行完整迭代是否安全(例如清除具有给定前缀的一组键)?
解决方案
为了防止扫描迭代花费太长时间,您可以在开始扫描之前获取键空间大小,并在扫描了那么多键后终止扫描。
推荐阅读
- azure - 如何增加 Azure AD B2C 上的守护程序应用程序的令牌生命周期
- python-3.x - 生成具有特定模式的随机字符串
- bash - 在 bash 中将数组内容作为命令输入传递
- r - 如何在 R 中编写斜对称矩阵
- reactjs - NextJS:生产后如果我们重新加载重定向到主页的动态 url
- performance - 带有godaddy的Ubuntu服务器传输数据非常慢
- python - 我将复制的文本粘贴到 csv 文件中?
- javascript - 定义 React HOC 组件的风格
- javascript - 多线图 d3 工具提示
- flutter - 为什么我的 StreamBuilder 没有更新我的 Post 模型?