阅读 170

redis持久化(redis持久化的方式以及区别)

Redis是内存数据库,如果不将内存中的数据保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以redis提供了持久化功能

触发机制

1.save的规则满足的情况下,会自动触发rdb规则

2.执行flushall命令,也会触发我们的rdb规则

2,退出redis,也会产生rdb文件

备份就自动生成一个dump.rdb

如果恢复rdb文件

1、将rdb文件放在redis启动目录,redis启动的时候会自动检测dump.rdb恢复其中的数据

2、查看需要存在的位置

1)"dir"

2)"/usr/local/bin" #如果在这个目录存在dump.rdb文件,启动就会恢复其中的数据

优点:

1.适合大规模的数据恢复

2.对数据的完整性要求不高

缺点:

1.需要一定的时间间隔进行操作,如果redis意外宕机了,这个最后一次修改的数据就没有了

2.fork进程的时候,会占用一定的内存空间

持久化测试

image-20210227102645593.png

2.查看 usr/local/bin目录下有一个dump.rdb文件(快照)

image-20210227102756605.png 3.删除dump.rdb,连接客户端,修改key

image-20210227103037746.png

4.关闭redis查看当前目录下已经生成了一个dump.rdb文件

image-20210227103311409.png

优点和缺点

优点:

1.每一次修改都同步·,文件的完整性更加好

2.每秒同步一次,可能会丢失一秒的数据

3.从不同步,效率是最高

缺点:

1.相对于数据文件来说,aof远远大于rdb,修复速率小于rdb

2.aof运行效率也要比rdb慢,所以我们redis默认配置就是rdb持久化

测试

1.修改配置文件

image-20210227111533398.png

appendonly yes   #是否开启aof appendfilename "appendonly.aof"  #aof文件名 appendsync always #每次修改都会sync消耗性能 appendfsync everysec   #每秒执行一次sync,可能会丢失这一秒的数据 appendfsync no #不执行sync,这个时候操作系统自己同步数据,速度最快 #重写 no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb #如果aof文件太大了,会fork一个新的进程 复制代码

2.连接redis进行操作

[root@hadoop1 bin]# ls myconfig  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server [root@hadoop1 bin]# redis-server myconfig/redis.conf 36012:C 27 Feb 2021 11:19:52.983 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 36012:C 27 Feb 2021 11:19:52.983 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=36012, just started 36012:C 27 Feb 2021 11:19:52.983 # Configuration loaded [root@hadoop1 bin]# redis-cli -p 6379 127.0.0.1:6379> set k1 v1 OK 127.0.0.1:6379> set k2 v2 OK 127.0.0.1:6379> set k3 v3 OK 127.0.0.1:6379> get k3 "v3" 127.0.0.1:6379> shutdown  not connected> quit [root@hadoop1 bin]# ls appendonly.aof  dump.rdb  myconfig  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server [root@hadoop1 bin]#  复制代码

3.关闭redis后产生了一个appendonly.aof文件

查看appendonly.aof文件中的内容发现是刚刚输入的指令

image-20210227112257523.png


作者:夏季的野兽
链接:https://juejin.cn/post/7028961139186909197


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐