gpt4 book ai didi

Redis 缓存跨区域共享

转载 作者:可可西里 更新时间:2023-11-01 11:13:22 25 4
gpt4 key购买 nike

我有一个使用 redis 缓存的应用程序,到目前为止它运行良好。然而,我们需要将我们的应用程序分布到不同的区域(通过用户位置的动态 DNS 调度程序,本地用户可以访问最近的服务器)。考虑到网络限制和带宽,不太可能搭建一个中心化的redis。所以我们要为不同的地区分配不同的redis。所以这里的问题是我们如何处理漫游情况。用户在位置 1 打开应用程序,同时继续使用位置 2 的应用程序而不会丢失位置 1 的缓存。

最佳答案

您将不得不使用分层架构。这就是 Akamai 或 Amazon Cloudfront 等大多数 CDN 的工作方式。简而言之,它是这样工作的:

  1. 当请求一个对象时,查看它是否存在于为位置L1分配的redis缓存服务器S1中。

  2. 如果S1中不存在,则检查S2,S3....SN等其他位置的缓存服务器中是否存在。

  3. 如果在 S2...SN 中找到,则将对象也存储在 S1 中,并提供该对象。

  4. 如果在 S2...SN 中也找不到,则从后端获取新的对象,并存储在 S1 中。

如果你使用memcached做缓存,那么facebook的开源mcrouter项目会有所帮助,因为它进行集中缓存。

关于Redis 缓存跨区域共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34172167/

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