Redis进阶7-持久化
一、定义: 持久化:将内存中的数据同步到硬盘,redis重启之后数据能恢复
二、两种方法 第一种:RDB:快照方式》。符合一定条件时,自动将内存所有数据生成一份快照并存在硬盘上。 条件有四个:1)根据配置规则进行自动快照;2)用户执行Save和BGsave命令。3)执行flushall命令;4)执行复制(replication)时。 第二种:AOF:每次执行命令后将命令本身记录下来。
使用场景:一般两者一起使用。
三、RDB四种条件介绍 条件一:根据配置规则进行自动快照。 安装目录中包含的样例中有三个条件: save 900 1 #在900秒内有1个1个以上的键被更改则进行快照。 save 300 10 save 60 1000
条件二:Save和BGsave命令 执行Save命令时,会阻塞所有来自客户端的请求。数据较多的时候会导致redis长时间不响应。 BGsave,是后台异步操作,可以响应请求。 注:lastsave可以查询快照是否执行完成。
条件三、flushall 会清空数据库所有数据。只有自动快照条件不为空,都会进行一次快照操作。
条件四:执行复制时 当设置主从模式时。redis在复制初始化时进行自动快照。即使没有定义自动快照条件,并且没有手动执行过快照操作,也会生成RDB快照条件。
四、快照原理 默认快照文件存储在Redis当前进程的工作目录中的dump.rdb文件中。
五 AOF 方式 默认Redis 没有开启这个方式。可以通过appendonly yes启用。 开启后每执行一条会更爱redis中的数据的命令,Redis会将该命令写入硬盘的AOF文件中。 在window下设置aof方法 1 复制redis.windows-service.conf为redis.conf。 2 修改redis.conf中的配置appendonly no为appendonly yes。 3 重启redis服务。关闭命令:在redis-cli.exe中输入shutdown关闭,启动命令:redis-server.exe --service-start 。启动后在redis按照的跟目录下能看到appendonly.aof文件。
4 在redis中调用set命令。
在appendonly.aof中对应如下设置
就爱阅读www.92to.com网友整理上传,为您提供最全的知识大全,期待您的分享,转载请注明出处。
来源: