我想将Redis用于作业队列目的。我想要了解的是,如果我的队列不适合内存,会发生什么,以及它如何影响性能?
我没有太多的资源用于此目的;只有8 8GB内存的服务器以及MySQL、Apache和几个中等负载的网站在此服务器上运行。需要限制Redis的内存使用吗?
我的作业队列将包括MySQL服务器中关联行的大约1亿个ID。ID是自动递增的整数。
我将首先将ID从MySQL移动到Redis,然后将此队列用于多个作业,并删除所有已处理的ID。
现在,对于这个场景,您是否推荐使用Redis作为队列管理器或其他工具,以及如何使用?
感谢您的想法:)
发布于 2013-06-10 15:03:04
我想了解的是,如果我的队列不能放入内存,会发生什么,以及它如何影响性能?
根据FAQ的说法,如果服务器耗尽内存,它将开始交换,redis的性能将会下降。如果你在config中设置了maxmemory选项,那么写操作将回复错误。您也可以查看自定义sharding。
需要限制Redis的内存使用吗?
首先,您应该尝试estimate内存使用情况,以确定您的内存是否足够。根据您的数据结构,它可以放入内存中,也许您不必处理分片或性能下降问题。另一种降低内存使用率的方法是optimize。
https://stackoverflow.com/questions/17014917
复制相似问题