Redis数据如何持久化
为什么要对redis进行持久化
redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中
1.Redis持久化思想
说明:redis操作时,首先操作的都是内存中的数据.redis根据自身的配置选择不同的持久化方式.定期将内存中的数据保存到本地磁盘中. 当redis重启服务时,首先会根据配置文件中指定的持久化文件恢复内存数据.
2.RDB模式
特点:
1.定期实现数据备份,但是可能丢失数据.
解释:如果实现用户操作1000次进行一次备份,当redis宕机时,会有未完成的数据丢失
2.该操作的执行的效率最高.
3.该持久化方式是redis的默认策略.
4.RDB模式做的是内存的快照,能够有效的节省磁盘空间,控制持久化文件的大小!!!
解释:相当于照相机,每次快照redis内存然后覆盖之前的.rdb文件
5.RDB模式持久化文件是加密的
3.AOF模式
特点:
1.AOF模式默认是关闭的.(需人为开启)
2.AOF模式可以实现数据的实时备份.
解释:AOF模式就是备份记录的是用户全部执行过程!!!(select等等)
然后存到持久化文件中,redis宕机时,读取持久化文件中每一行命令执行的结果,然后把结果给redis
3.AOF的执行的效率相对RDB模式低.
4.AOF模式做持久化操作时,对原有的持久化文件做追加操作.
5.AOF的持久化文件,内容明文保存
解释:既然需要读取就不能加密
持久化条件配置
save 开头的一行就是持久化配置,可以配置多个条件(每行配置一个条件),每个条件之间是“或”的关系。
“save 900 1”表示15分钟(900秒钟)内至少1个键被更改则进行快照。
“save 300 10”表示5分钟(300秒)内至少10个键被更改则进行快照。
扩展
如果redis宕机,恰好持久化文件又损坏怎么办?
配置redis主从,redis宕机后可以从从机复制持久化文件,一运行就可以了
(具体步骤看其他文档)