redis 持久化
关系型数据库持久化:例如mysql 任何增删改查都是在硬盘上做的操作。断电之后,硬盘上的数据还是存在的。
首先是基本点共识:
内存:高效、断电数据就会消失
硬盘:读写速度慢于内存,断电数据依旧存在
非关系型数据库 redis 默认情况下,所有的增删改查,数据都是在内存中进行操作。
断电以后,内存中的数据时不存在的。断电以后,redis的部分数据会丢失,丢失的数据保存在内存中
2种redis存在持久化操作
一、RDB : redis 默认的持久化机制,相当于照快照,保存的是一种状态。适合于大内存的服务器。
优点:
①快照备份快,还原快
②适合容灾备份
缺点:
①RDB机制符合要求就会照快照,随时随地就会占用一部分系统资源。小内存机器不适合使用
②服务器正常关闭时也会照快照
③key满足一定条件时,照快照
RDB什么时候进行快照?
1、服务器正常关闭时,会照快照 ./bin/redis-cli shutdown
2、key满足一定条件,会照一次快照
配置说明,Redis.conf
还有一种直接用命令save 或者 bgsave指定持久化。
二、AOF
3种配置的比较:
最后,两种持久化方式的比较: