是否建议使用具有 noeviction 策略的云 redis 作为持久数据库?

Is it advisable to use cloud redis with noeviction policy to act as persistent database?

我正在考虑使用策略设置为 noeviction 的云内存存储 redis 数据库,一种为客户端提供服务的持久数据库。想知道这有什么缺点吗?

当然,我们会在较高端保留实例内存,以确保传入的密钥可以容纳。在云提供商端进行基础设施重组、故障转移或修补时,密钥是否有可能丢失?

提前致谢

在计划外重启的情况下,密钥仍有可能丢失。故障转移仅在实例崩溃或计划维护期间有效,在手动重启时无效。 GCP 还具有两个 Redis 层功能。只有标准层支持故障转移。

两者都提供 300GB 的最大实例大小和 12Gbps 的最大网络带宽。 标准层的优点是它使用复制、跨区域复制和自动故障转移提供冗余和可用性。

noeviction 只是一项确保所有密钥都不会被驱逐且不会被替换的策略,无论它们有多旧。当 Redis 实例达到 maxmemory 时,它只会 returns 一个错误。它仍然没有涵盖其他持久性功能,如时间点快照和 AOF 持久性,遗憾的是 Memorystore 尚不支持。

由于 Memorystore 没有涵盖您的整个用例,我的建议是改为使用 Redis 开源。您可以从 GCP Markeplace.

快速配置和部署 Redis VM 实例

您可以在 documentation 中查看全部功能。