如果Redis队列不适合内存怎么办?

时间:2013-06-09 22:46:47

标签: redis queue

我想将Redis用于作业队列。我想学习的是如果我的队列不适合内存以及它如何影响性能会发生什么?

我没有足够的资源用于此目的;只有8GB内存的服务器以及MySQL,Apache和几个中等负载的网站都在这台服务器上运行。我应该限制Redis的内存使用吗?

我的作业队列将在MySQL服务器中包含大约1亿个关联行ID。 ID是自动增量整数。

我会先将ID从MySQL移到Redis,然后我会将这个队列用于多个作业,我将删除所有已处理的ID。

现在,对于这种情况,您是否建议将Redis用作队列管理器或其他什么,以及如何使用?

感谢您的想法:)

1 个答案:

答案 0 :(得分:4)

  

我想学习的是如果我的队列不适合内存会发生什么   以及它如何影响绩效?

根据FAQ,如果服务器耗尽RAM,它将开始交换,redis性能将降低。如果在config中设置maxmemory选项,则写操作将回复错误。您也可以查看自定义sharding

  

我应该限制Redis的内存使用吗?

首先,您应该尝试estimate内存使用情况,以确定您的RAM是否足够。根据您的数据结构,它可以适应内存,也许您不必处理分片或性能下降。另一种降低内存使用量的方法是optimize