gpt4 book ai didi

caching - 重新启动时在 Redis(或其他缓存服务)中重新加载数据的最佳方法?

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

当Redis服务器发生故障并重启时,将数据重新加载到Redis中的最佳方式是什么? (我对 Redis 和内存数据库有点陌生)

我分为三个部分,我将描述如下:

  • 生产者应用程序 - 更新 SQL 数据库并将 SQL 数据的子集写入 Redis 服务器
  • Redis 服务器 - 拥有 SQL 数据的重要子集
  • 消费者应用 - 需要快速查找 Redis 中的数据(目前不写入 Redis 或 SQL 数据库)

我正在考虑的一些选项:

  • 将重新加载脚本放在 Redis 服务器中,以便它查询 SQL 数据库并在启动时重新加载自身
  • 在生产者应用中构建一个端点,消费者应用可以调用该端点,以在消费者应用注意到 Redis 服务器为空并已重新启动时通知生产者应用重新加载 Redis
  • 完全摆脱 Producer 应用程序,让 Consumer 应用程序直接查询 SQL 数据库并将结果写入 Redis(但它如何知道 SQL 数据何时更新?)
  • 保留Producer应用,同时让Consumer应用在Consumer应用感知到Redis为空时直接查询SQL数据库并将结果写入Redis

最佳答案

将数据重新加载到 Redis 或任何其他缓存中称为缓存预热。您似乎遇到的问题是您没有尝试将 Redis 用作缓存,而是用作应用程序之间通信的一种方式。

通常,您会希望您的应用程序查询 Redis 以查看其中是否有数据,如果没有,则查询端点或数据库,因此您应该始终有某种方法可以在没有 Redis 的情况下运行。

是让生产者清除消费者的缓存,还是让消费者记住它是自己的缓存并处理陈旧数据,还是引入另一个应用程序来提供数据,这取决于您的具体需求。

关于caching - 重新启动时在 Redis(或其他缓存服务)中重新加载数据的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47664785/

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