redis之持久化机制

一,为什么要进行持久化

redis是一个内存数据库,顾名思义所有的数据刚在未进行持久化之前都是存储在内存上,当服务器发生故障或者断电时就可能会造成数据的丢失,造成损失,持久化就是将redis数据库的数据写入磁盘。

二,redis持久化分类

1. rdb(快照)方式

rdb方式也称为快照方式也是redis数据库默认的一种持久化方式,就是在规定的时间内将数据库中的数据以快照的方式写入磁盘的二进制文件(dump.rdb)中,我们可以设置在n秒内如果有写入或者修改了m个key就做一次rdb方式的持久化。

打开redis.conf文件

save 900 1    #900秒内如果有1个key被修改就持久化一次
save 300 10    #300秒内如果有10个key被修改就持久化一次
save 60 10000    #60秒内如果有10000个key被修改就持久化一次

优点:可以提高效率。

缺点:不能完整的持久化,可能某次故障造成数据的丢失。

2. aof(append-only-file)方式

aof追加的方式,有更好的持久化,可以做到每次接收到一个修改命令时都会将这个命令以日志的方式追加到appendonly.aof中,当下次启动redis时,会执行aof文件中的命令重建数据库中的数据。

配置方式

将redis.conf中的

appendonly no 改为  appendonly yes

aof有三种策略持久化:

  1. # appendfsync always   #每进行一次修改写入一次   可以做到完整的持久化  但是效率最低。
  2. # appendfsync everysec   #每秒钟写入一次
  3. # appendfsync no   #完全依赖于os  持久化没保证

对于对数据要求比较高的我们建议使用第一种方式。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值