redis持久化
持久化的两种方式
1.RDB:内存中的数据直接写到文件中去。
2.AOF:以追加的形式把内容写到文件中去。
RDB
1.原理
2.持久化配置
(1)配置dump.rdb
每次启动redis的时候,都会在启动目录下生成一个dump.rdb文件
3600s内有1key发生变化就进行持久化
300s内有100key发生变化就进行持久化
60s内有一个10000key发生变化就进行持久化
做持久化把这里放开,然后可以改他的持久化规则,改完之后记得一定要重启redis
看是否已经配置成功,可以持久化:
进入redis中,找到dump.rdb文件,看它的大小
设置10个key,等30s后看dump.rdb文件的大小是否变大
当设置30s内有10个key发生变化就进行持久化,但是实际上有12个key发生变化时,那么它会先持久化前10个key,第11个、12个key会重新进行计算
(2)配置redis.conf
<1>
<2>
默认是yes,当redis无法写入磁盘(磁盘满了),直接关掉写操作
<3>
<4>
默认yes,进行持久化时,检查数据是否是一个有效数据,如果数据已经损坏,那么持久化也没有意义,恢复时也无法恢复
3.总结
RDB是怎么进行持久化的,以及缺点
写时复制技术:写的时候创建一个临时文件然后复制dump.rdb里面的内容,最后用这个临时文件把dump.rdb替换掉
AOF
1.原理
2.配置
<1>
开启:redis.conf中找到改为yes,改完之后重启
aof生成文件的名字,也是在启动路径下生成
启动后就会生成aof文件
<2>
<3>
3.总结