redis 持久化

前言

  redis的所有数据都是保存到内存中的, 那么, 如果出现了断电情况, 是不是就会丢失数据. 

  那有什么办法来解决这个数据丢失问题呢?

持久化

  redis作为这么牛B的软件, 这方面当时是考虑过的, 所以redis给出了两种方案.

  打开redis.conf配置文件, 这个文件在前面安装的时候提到过.

方案一: 默认 rdb

  rdb: 快照形式, 定期把内存中当前时刻的数据保存到磁盘中.

  

1. 如果15min内, 有 >=1 个值发生了改变, 则15min保存一次快照文件

2. 如果5min内, 有 >=10 个值发生了改变, 则5min会保存一次快照文件

3. 如果每分钟都有 >=10000 个值发生改变, 则每分钟都会保存到磁盘中

 按照这种方式, 还是有可能会丢失数据的, 但是丢失数据的量会小很多. 这个是redis默认的持久化方案.

 

 方案二: aof

aof: append only file. 把所有对redis数据库的增删改操作的命令, 保存到文件中, 数据库恢复时, 把所有命令执行一遍就可以了

 

当把这个设置成yes之后, 在bin目录下面, 就会出现 appendonly.aof 文件.

 这种方式对磁盘的操作会变得很频繁, 这会导致存储速度慢一些.

 

正常情况下, 不会出现数据丢失的, 主要是断电这种, 会丢失数据. 一般使用中, 默认的持久化, 就满足使用了.

速度和持久化是成反比关系的. 根据具体的使用情况, 选择需要的方案.

 

posted @ 2018-01-28 11:24  Sniper_ZL  阅读(447)  评论(0编辑  收藏  举报