你知道Redis上的任何替代品吗?

时间:2015-03-30 11:49:48

标签: memory redis queue out-of-memory

我一直使用Redis作为队列在分布式python脚本之间进行通信。在任何时候,一些节点都会推送,一些节点会从列表中弹出值。

然而,我遇到了一个问题。在某一点上,LPUSH将使服务器耗尽memmory。据我所知,Redis中曾经存在的虚拟内存功能直到版本2.4被认为已被弃用(因此建议不要使用)。

我遇到的问题是丢弃任何密钥的策略是不可接受的。因此,服务器配置为noeviction(不会驱逐值,并且应返回错误)。

我需要的是一种方法来发现命令从redis-py失败,所以我可以使特定节点等待,直到有空间将项目推入列表。我查看了代码,redis-py本身没有例外(它没有使用异常作为设计选择)。

LPUSH本身返回该特定列表中的记录数,但是,由于该列表是从不同节点访问的,因此该值本身不会告诉我任何内容。

我是如何实现这一目标的?

请告诉我有关问题性质的任何其他信息是否有助于澄清问题。

0 个答案:

没有答案