Redis 的安全存储有必要吗?

我们目前正尝试通过 Kubernetes 在 GCP 中使用 Helm charts 安装 Discourse,请参见 此处

现在,由于它也应涵盖我们的生产环境,因此我们不能丢失任何导入 Discourse 的内容。当然,我们将使用 GCP 上托管的 PostgreSQL 数据库,但我们不确定是否还需要托管的 Redis。

如果 Redis 中的所有数据丢失不会影响 Discourse 的功能,例如仅丢失缓存数据,那么我们就可以在 K8s 中使用 Redis。但是,如果 Redis 丢失会产生更严重的影响,那么我们就需要托管的 Redis。

您能为我们解答一下吗?

1 个赞

我在这里介绍了:More details on how the Redis cache is utilized? - #2 by Falco

Redis 用于:

  • 缓存
  • 后台作业队列
  • 持久连接积压和发布/订阅

如果我是你,我会选择 GCP 中的托管服务,前提是他们提供足够新版本的 Redis 并且延迟不高。AWS 在跟上新版本方面做得很好,而 GCP / Azure 有时可能会滞后。

3 个赞

@Falco 非常感谢您的意见。那么,如果 Redis 丢失了,是否会销毁所有历史记录等?

1 个赞

您能在此处定义“历史记录”吗?

丢失 Redis 数据库(相当于 redis-cli flushall)不会对 Discourse 应用造成重大问题,但您会丢失一些东西,例如队列中的电子邮件等。因此,虽然这并非灾难性的,但如果您能轻松避免,我还是建议您这样做。

1 个赞

是的,我说的历史是指我们现在正在进行的对话中的所有话题和内容。

丢失这些内容将是极其严重的。:slight_smile:

1 个赞

实际数据(如帖子、主题、用户等)存储在 PostgreSQL 中。

2 个赞

因此,它仅涵盖不太关键的数据,或者更短暂的数据。

2 个赞

你失去的最大东西是那些排队等待未来发生的事情。这通常不是问题。