#2393·rq

[Q] Postgres 作为中介服务器?

作者: alex-deltia创建于 2026年4月14日更新于 2026年9月14日

在生产环境中使用 RQ + Redis,并有大量的工作人员和任务(且不删除任何完成的任务,以便更好地进行调试/跟踪),需要不断增加 Redis 的内存。这是因为 Redis 不支持分层存储,这意味着它需要将整个数据集加载到内存中。压缩 Redis 的内存并使用自定义 RQ 序列化器(例如 json 而不是 pickle)可以减少内存需要不断增加的速度,但并不能解决内存使用量持续增加的普遍问题。Valkey(一个 Redis 的替代方案)目前正在讨论添加分层存储解决方案的主题,但尚未作出任何决定。Postgres 能够复制 Redis 的原子性,速度快(在某些情况下甚至可以与 Redis 相媲美;绝对“足够快”以作为 RQ 的中介),这让我想知道将 Postgres 实现为 RQ 的中介是否是一个好主意,或者您是否愿意考虑这个问题,@selwin 。