gpt4 book ai didi

caching - 在本地缓存一个redis集群

转载 作者:IT王子 更新时间:2023-10-29 06:11:00 25 4
gpt4 key购买 nike

我有一个场景,我们想使用 redis,但我不确定如何设置它。这是我们最终想要实现的目标:

  1. 一个冗余的中央 redis 集群,所有写入都将在两个 aws 区域的服务器上进行。

  2. 服务器上的本地 redis 缓存将保存完整中央集群的副本。

这样做的原因是我们有许多只需要读取访问权限的服务器,我们希望它们即使在发生中断(服务器无法连接到主集群)的情况下也是独立的。

我知道缓存可能存在“陈旧数据”问题,但只要我们获得最终一致性,我们就可以容忍。

使用 redis 实现类似目标的正确方法是什么?

谢谢!

最佳答案

您需要 Redis Replication (Master-Slave) Architecture

Redis 复制:

Redis Master Slave Architecture

Redis 复制是一种非常易于使用和配置的主从复制,它允许从 Redis 服务器成为主服务器的精确副本。以下是关于 Redis 复制的一些非常重要的事实:

  • Redis 使用异步复制。然而,从 Redis 2.8 开始,从服务器会定期确认从复制流处理的数据量。
  • 一个master可以有多个slave。
  • 从站能够接受来自其他从站的连接。除了将多个从站连接到同一个主站之外,从站还可以连接到类似级联结构的其他从站。
  • Redis 复制在主控端是非阻塞的。这意味着当一个或多个从属执行初始同步时,主将继续处理查询。
  • 复制在从属端也是非阻塞的。当从服务器执行初始同步时,它可以使用旧版本的数据集处理查询,假设您在 redis.conf 中将 Redis 配置为这样做。否则,您可以将 Redis 从站配置为在复制流关闭时向客户端返回错误。但是,在初始同步后,必须删除旧数据集并加载新数据集。从站将在此短暂窗口期间阻止传入连接(对于非常大的数据集可能长达几秒)。
  • 复制既可用于可扩展性,以便为只读查询提供多个从属设备(例如,慢速 O(N) 操作可以卸载到从属设备),也可仅用于数据冗余。
  • 可以使用复制来避免让主服务器将完整数据集写入磁盘的成本:一个典型的技术包括配置主服务器的 redis.conf 以完全避免持久化到磁盘,然后连接一个配置为从中保存的从服务器有时,或启用 AOF。但是,必须小心处理此设置,因为重新启动的主机将从一个空数据集开始:如果从机试图与其同步,则从机也将被清空。

完成以下步骤: How to Configure Redis Replication .

关于caching - 在本地缓存一个redis集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com