redis - Redis Replication 是否有助于负载平衡?

标签 redis

我们不断地将事件写入和更新到 Redis 中,因此当我们想要读取数据(大量数据,超过 500000 个键值对)时,Redis 会出现性能问题。所以,我们决定通过多线程获取数据。但是由于单实例 redis,性能问题仍然存在。复制对我们有帮助吗?就像通过创建主从 redis 一样,我们对事件的读取是否会分发给从属。我们正在考虑让 master 只写。 还有其他性能改进建议吗?

最佳答案

(其中之一)复制的声明目的是帮助扩展读取,所以是的。

请注意,在设置从属之后,您需要为读取器线程和进程指定其地址。如果您没有明确区分写入者和读取者,请确保从读取从属开始。

如果一个 slave 不够用,你实际上可以添加更多的 slave。如果您将它们直接添加到母版,您将获得更新鲜的读取,但最终会对母版产生性能影响。或者,复制链对于大多数用例来说是一个很好的解决方案,即 1 master -> 1 slave -> n slaves。

可能还有其他方法可以根据您的用例扩展 Redis(例如集群),但这实际上取决于您正在尝试/想要做什么:)

关于redis - Redis Replication 是否有助于负载平衡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25208330/

相关文章:

smembers 的 node.js 异步 mapSeries

python - 生产中的 Redis-Queue (RQ) 任务队列

php - Redis 在大约 24 小时后拒绝连接

caching - Redisearch 在 Redis 上而不是 Redis-Stack 上?

java - 这些 spring session 键在 Redis 中代表什么?

Python Redis 队列

database - 存储频繁请求的具有关系的键值数据的有效方法?

java - RedisUtil 共享连接池 false

Redis 集群主从 - 无法添加 key

python - 如何使用zscan以相反的顺序遍历Redis中的排序集?