4

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

为此,我没有太多资源。该服务器上仅运行 8GB 内存的服务器以及 MySQL、Apache 和几个中等负载的网站。我应该限制 Redis 的内存使用吗?

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

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

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

谢谢你的想法:)

4

1 回答 1

4

我想了解的是,如果我的队列不适合内存会发生什么以及它如何影响性能?

根据常见问题解答,如果服务器内存不足,它将开始交换,redis 性能将下降。如果您在配置中设置了 maxmemory 选项,那么写入操作将回复错误。您也可以查看自定义分片

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

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

于 2013-06-10T07:03:04.023 回答