Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
先看 eviction policy。Redis 没挂不代表数据没被淘汰,登录态和 pubsub 相关数据被挤掉就会像玄学。
maxmemory-policy 是 allkeys-lru,之前抄来的配置。
社区服务别乱用 allkeys-lru。你要先分清缓存、会话、队列、实时消息是不是混在一个 Redis。
我之前把 Bull 队列、session、cache 都放一个 Redis,备份任务一多,通知就延迟。
先把 Redis 慢日志和 INFO commandstats 拉出来。别看到内存高就直接扩容,可能是键没有过期。
INFO commandstats
db0:keys=180w,expires=12w,这个比例是不是不对?
db0:keys=180w,expires=12w
很不对。大量没有 TTL 的 key 要查来源。NodeBB 插件也可能写长期 key。
还要看持久化。AOF rewrite 时磁盘 IO 抖,Node 侧会表现成请求偶发卡顿。
我们 Redis 和 Postgres 在同一台小机器。
那复盘里写清楚资源隔离。社区站早期可以一台机,但至少 Redis 内存上限、磁盘 IO、备份窗口要分开想。
先把策略改成 volatile-lru,清了插件遗留 key,登录掉线少了。
继续观察。Redis 没挂但行为错,是生产化里最容易漏的事故类型。
你好!看起来您对这段对话很感兴趣,但您还没有一个账号。
厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。
有了你的建议,这篇帖子会更精彩哦 💗