【发布时间】:2014-10-02 05:14:51
【问题描述】:
我们不断地将事件写入和更新到 redis 中,因此当我们想要读取数据(这是很多数据,超过 500000 个键值对)时,redis 会出现性能问题。因此,我们决定通过多个线程获取数据。但是由于单实例 redis,性能问题仍然存在。复制对我们有帮助吗?例如,通过制作主和从 redis,我们对事件的读取是否会分发给从属。我们正在考虑让主人只写。 还有其他关于性能改进的建议吗?
【问题讨论】:
标签: redis
我们不断地将事件写入和更新到 redis 中,因此当我们想要读取数据(这是很多数据,超过 500000 个键值对)时,redis 会出现性能问题。因此,我们决定通过多个线程获取数据。但是由于单实例 redis,性能问题仍然存在。复制对我们有帮助吗?例如,通过制作主和从 redis,我们对事件的读取是否会分发给从属。我们正在考虑让主人只写。 还有其他关于性能改进的建议吗?
【问题讨论】:
标签: redis
(其中一个)复制声明的目的是帮助扩展读取,所以是的主题。
请注意,在您设置了从属服务器之后,您需要为您的阅读器线程和进程指定其地址。如果您没有明确区分写入者和读取者,请确保从读取从属开始。
如果单个从站不够用,您实际上可以添加更多从站。如果将它们直接添加到主服务器,您将获得更新鲜的读取,但最终会对主服务器产生性能影响。或者,对于大多数用例,复制链是一个很好的解决方案,即 1 个主 -> 1 个从属 -> n 个从属。
可能还有其他方法可以为您的用例扩展 Redis(例如集群),但这实际上取决于您正在尝试/想要做什么 :)
【讨论】: