Is all of my data safe when I increase the amount of RAM I have?
I’m certain that my data won’t be removed for whatever reason, therefore should I store it in memory (Redis) or on the cloud?
Memorystore “Basic” instances are the only ones that can suffer data loss in the case of a memory flush.
Both Basic and Standard instance levels are available in Memorystore.
The following circumstances generate a full cache flush on lower-tier instances
Scaling up an instance (i.e. upgrading or downgrading the instance capacity) Starting from scratch, the Maintenance Instance is restarted (triggered manually) The High Availability setup for the Standard instance tier, on the other hand, offers a failover for asynchronous data replication. Any of the aforementioned circumstances will result in a promotion of a standard instance to the main instance, but the RAM will remain untouched. When a failover occurs, a write to a replica may not be transmitted to the primary (due to the asynchronous nature of the replication). However, the failover procedure is generally quick and takes less than a minute to perform.
To minimize memory drops when an instance reaches maximum capacity, use the maxmemory-policy=noeviction flag when setting the instances and specify the behavior of the instances when they reach maximum capacity. For further information, consult the official Redis documentation.
Although you suggested duplicating the data to the Cloud, there is no method to do so right now.
For your second inquiry, I can assure you that there will be no data loss if you use a Standard tier instance and increase the instance’s capacity.
Memorystore, when used with Standard tier instances, delivers the best possible data and instance uptime dependability and avoids unnecessary memory flushes.
It is possible for a Standard tier instance to be flushed if two failures occur at the same time. In addition to enabling persistence, we’ll be giving an option to import and export data across Memorystore instances in the future.
Conclusion
Both Basic and Standard instance levels are available in Memorystore. There will be no data loss if you use a Standard tier instance and increase the instance’s capacity. Use the maxmemory-policy=noeviction flag to specify the behavior of the instances when they reach maximum capacity.