为什么需要持久化呢?
通常,所有redis数据都存储在内存中,一旦数据库无法重新启动,这些数据将会丢失。即使在redis集群或redis哨兵模式下,主从同步数据的恢复仍然需要一些时间。
Persistence函数是为了有效避免进程退出造成的数据丢失,数据恢复可以通过使用下次重启前保存的文件来实现。Redis持久性打开后,数据将存储在磁盘上,数据库将执行比完全同步少得多的增量同步。故障数据的恢复在生产环境中起着非常重要的作用!
Redis数据持久化有两种方案
1. RDB持久化
这两种方案有什么区别?接下来,让我们组成一个列表~
2. AOF持久化
3. RDB、AOF持久化优劣势对比
definition:
parameter:
save选项(如果配置为空保存),RDB持久性将被关闭。可以配置多个触发条件来打开RDB持久性,例如900秒内1个写触发快照/300秒内10个写触发快照。这可以根据自身的Redis写入情况自由配置,以平衡性能和数据安全性。
建议打开停止写入bgsave错误。当redis bgsave遇到错误时,客户端的请求被拒绝。bgsave失败通常是由于磁盘或内存空间不足。需要监控来提高数据安全性。
4. 选择
definition:
appendonly设置AOF持久性是否打开。
appendfsync有三种持久模式:总是/每秒/否考虑了数据存储的速度和安全性。配置是Eversec,每秒将数据同步到磁盘。
在实际的生产环境中,根据不同的情况,例如数据量、应用程序对数据的安全要求、预算限制等,会有不同的持久性策略。例如根本不使用任何持久性,使用RDB或AOF之一,或者同时启用RDB和AOF持久性,等等。
PS:持久性的选择必须与Redis的主从策略一起考虑,因为主从复制和持久性也具有数据备份的功能,主从从可以独立选择持久性方案。
极牛网精选文章《有效避免数据丢失!Redis持久化方案选择详解》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/5252.html