二、Redis—持久化

Redis持久化redis

Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File),若是这两种模式都关闭了,redis就会默认把数据只存在内存里。算法

  • RDB,简而言之,就是在不一样的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。数据库

  • AOF,则是换了一个角度来实现持久化,那就是将redis执行过的全部写指令记录下来,在下次redis从新启动时,只要把这些写指令从前到后再重复执行一遍,就能够实现数据恢复了。安全

  •  其实RDB和AOF两种方式也能够同时使用,在这种状况下,若是redis重启的话,则会优先采用AOF方式来进行数据恢复,这是由于AOF方式的数据恢复完整度更高。app

  •  若是你没有数据持久化的需求,也彻底能够关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache同样。ide

  • 总结:AOF持久化会比RDB记录的数据更加全面性能

Redis持久化相关参数配置spa

  • RDB持久化内存

经过save这个参数设置过时前时间it

save 900 1 #表示每15分钟且至少有1个key改变,就触发一次持久化 

 save 300 10 #表示每5分钟且至少有10个key改变,就触发一次持久化

 save 60 10000 #表示每60秒至少有10000个key改变,就触发一次持久

要取消这种持久化方式就把上边三行注释掉,打开save “”  #这样能够禁用rdb持久化

  • AOF持久化

 appendonly yes  #若是是yes,则开启aof持久化

 appendfilename “appendonly.aof” # 指定aof文件名字

模式:

 appendfsync everysec #指定fsync()调用模式,有三种

一、no(不调用fsync,每隔一段时间写一次(根据你系统的算法频率))

二、always(每次写都会调用fsync,只要有变更就会写进去)

三、everysec(每秒钟调用一次fsync,写一次)

优缺点:

一、no:最不安全,可能会丢数据

二、always:数据最安全,但性能会差一些,会耗费一些磁盘io

三、everysec:相对来说既安全又高效(默认)

相关文章
相关标签/搜索