RDB redis

来源:互联网 发布:chinanet登陆软件 编辑:程序博客网 时间:2024/05/18 03:46
<li class="alt"><span><span>#900秒后且至少1个key发生变化时创建快照&nbsp;&nbsp;</span></span></li><li class=""><span>save&nbsp;900&nbsp;1&nbsp;&nbsp;</span></li><li class="alt"><span>#300秒后且至少10个key发生变化时创建快照&nbsp;&nbsp;</span></li><li class=""><span>save&nbsp;300&nbsp;10&nbsp;&nbsp;</span></li><li class="alt"><span>#60秒后且至少10000个key发生变化时创建快照&nbsp;&nbsp;</span></li><li class=""><span>save&nbsp;60&nbsp;10000&nbsp;&nbsp;</span></li><li class="alt"><span>#可通过注释所有save开头的行来禁用RDB持久化&nbsp;&nbsp;</span></li><li class=""><span>#创建快照时对数据进行压缩&nbsp;&nbsp;</span></li><li class="alt"><span>rdbcompression&nbsp;yes&nbsp;&nbsp;</span></li><li class=""><span>#快照名称&nbsp;&nbsp;</span></li><li class="alt"><span>dbfilename&nbsp;dump.rdb&nbsp;&nbsp;</span></li><li class=""><span>#存放快照的目录(AOF文件也会被存放在此目录)&nbsp;&nbsp;</span></li><li class="alt"><span>dir&nbsp;/var/lib/redis/&nbsp;&nbsp;</span></li>
<li class="alt"><span><span>#900秒后且至少1个key发生变化时创建快照  </span></span></li><li class=""><span>save 900 1  </span></li><li class="alt"><span>#300秒后且至少10个key发生变化时创建快照  </span></li><li class=""><span>save 300 10  </span></li><li class="alt"><span>#60秒后且至少10000个key发生变化时创建快照  </span></li><li class=""><span>save 60 10000  </span></li><li class="alt"><span>#可通过注释所有save开头的行来禁用RDB持久化  </span></li><li class=""><span>#创建快照时对数据进行压缩  </span></li><li class="alt"><span>rdbcompression yes  </span></li><li class=""><span>#快照名称  </span></li><li class="alt"><span>dbfilename dump.rdb  </span></li><li class=""><span>#存放快照的目录(AOF文件也会被存放在此目录)  </span></li><li class="alt"><span>dir /var/lib/redis/  </span></li>


除了通过配置文件进行设置外也可以通过手工执行命令来创建快照
SAVE命令执行一个同步操作,以RDB文件的方式保存实例中所有数据的快照。一般不在生产环境直接使用SAVE 命令,因为会阻塞所有的客户端的请求,可以使用BGSAVE命令代替。BGSAVE后台创建数据快照。命名执行结果的状态码会立即返回。Redis开辟一个子进程,父进程继续相应客户端请求,子进程保存DB到磁盘后退出。客户端可通过执行LASTSAVE命令检查操作是否成功。

创建RDB快照的工作流程
Redis需dump数据集到磁盘时会执行下列过程:
Redis forks一个子进程;
子进程写数据集到临时的RDB文件;
子进程写完新的RDB文件后替换旧的RDB文件。
该方式使Redis可以利用copy-on-write机制的好处。

0 0
原创粉丝点击