Google 云内存存储 (Redis) 使用情况

Google Cloud Memory Store (Redis) usage

  1. 我可以确定我的数据不会因为某些原因被删除,使用内存存储(Redis)是否安全,还是我应该将数据复制到云数据存储?

  2. 当我增加内存容量时,我所有的数据都是安全的吗?

Memorystore 中可能导致数据丢失(即由于某种原因导致内存刷新)的事件,大多数只影响 Memorystore "Basic" 个实例。

Memorystore 有两个实例层:Basic and Standard

基本层实例受以下事件影响,这将导致完全缓存刷新:

  • 实例扩展(即升级或降级实例容量)
  • 维护
  • 实例重启(手动触发)

但是,标准实例层有一个 High Availability configuration,其中包括用于异步复制数据的故障转移。 在 Standard 实例中,如果发生上述任一事件,replica 将被提升为主实例,内存不受影响。但是,唯一可能丢失的数据是在故障转移期间未传播到副本的写入(由于复制的异步性质)。尽管如此,故障转移过程通常很短,需要大约 30 秒才能完成。

此外,您还可以 configure the behaviour of the instances when they reach maximum memory capacity, and use the maxmemory-policy=noeviction flag when configuring them, in order to avoid the instance to drop memory if this event happens. See the official Redis documentation for more details

您提到将数据复制到 Cloud Storage,但目前无法在 Memorystore 之外复制数据。

关于你的第二个问题,正如我上面提到的,在标准层实例中,更改实例容量时不会丢失任何数据。

简而言之:如果您想要最大可能的数据和实例正常运行时间可靠性,并避免不方便的内存刷新,Memorystore 在使用标准层实例时提供了它。

关于标准层实例的注意事项,双重故障可能会导致实例完全刷新。我们正在努力实现持久性,还将提供导入和导出数据的功能 to\from Memorystore 实例。

import\export 功能计划在第二季度初推出。

此处概述了缩放行为。 https://cloud.google.com/memorystore/docs/redis/scaling-behavior

产品经理 云内存库