Redis实例支持数据持久化吗?开启持久化有什么影响?
是否支持持久化
单机:不支持持久化。
主备、读写分离和集群(单副本集群除外):支持持久化。
Redis实例支持的持久化方式
- Redis实例默认仅支持AOF的方式进行持久化,同时支持客户自行开关数据持久化配置。创建的实例(单机或单副本集群除外)默认开启AOF持久化。
- Redis实例默认不支持RDB持久化,因此也无法支持客户自行配置save参数。如果需要进行RDB持久化,可以使用主备或者集群实例的备份恢复功能,备份恢复时,Redis 4.0及以上版本实例,可以支持选择生成RDB持久化文件并且自动转储到OBS中。
持久化的磁盘是什么类型
Redis 4.0及以上版本的实例,持久化的磁盘是SSD类型。
开启/关闭AOF持久化的影响
- 当出现底层计算节点磁盘硬件故障或者IO故障时,可能会造成时延冲高或者主备倒换等情况发生。
- Redis-Server进程会定期进行AOF重写操作,重写期间可能会造成短暂的时延冲高,AOF重写规则请参考AOF文件在什么情况下会被重写?。
如果在缓存场景下使用DCS实例进行应用加速,建议可以关闭持久化参数以获得更高的性能和稳定性。
关闭持久化需根据实际业务慎重操作,关闭持久化后在极端故障场景(例如主备节点同时故障等)下可能出现缓存数据丢失的问题。
如何开启/关闭Redis持久化
在实例的配置参数中将appendonly参数设置为no即可关闭AOF持久化,设置为yes即开启AOF持久化。(单机实例不支持持久化)
配置参数的操作请参考修改DCS实例配置参数。
Redis实例是否支持开启主节点不持久化,仅从节点持久化
DCS Redis 4.0/5.0/6.0基础版的主备和集群实例、企业版高性能型主备实例,可以通过将实例参数appendonly设置为only-replica,开启实例仅从节点持久化。
其他版本和实例类型暂不支持该特性。
- appendonly参数默认只有yes和no两个选项,如需设置为only-replica,需要联系运维人员放通该参数的白名单。
- 仅从节点持久化相对于主从节点同时持久化,因主节点减少了AOF写入和重写的影响,性能会有所提升,但可靠性会有所降低,请根据实际业务情况选择。