首页 / REDIS / redis的持久化相关操纵
redis的持久化相关操纵
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了redis的持久化相关操纵,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3582字,纯文字阅读大概需要6分钟。
内容图文
![redis的持久化相关操纵](/upload/InfoBanner/zyjiaocheng/914/0e87e917f00f4b10a6b39b2aee0768d2.jpg)
一.redis数据持久化(数据保存在硬盘上)
1. 关系型数据库Mmysql持久化
任何增删改语句都是在硬盘上操作(安全)
断电,硬盘上数据还在
2.非关系型数据库
默认所有的增删改都是在内存中操作(高效不安全)
断电以后内存数据不存在
断电以后redis部分数据会丢失:丢失的数据是保存在在内存
1.redis持久化操作(RDB)
redis
提供了RDB(Redis DataBase)持久化
的功能,这个功能可以将redis
在内存中的的状态保存到硬盘中,它可以手动执行。
也可以再redis.conf
中配置,定期执行。
RDB持久化产生的RDB文件是一个经过压缩的二进制文件,这个文件被保存在硬盘中,redis可以通过这个文件还原数据库当时的状态。
RDB:默认的持久化操作,相当于快照,保存的是状态,在redis安装目录有个dump.rdb就是快照 优点:(1)快照保存数据速度极快,还原熟读极快 (2)适合灾难备份 缺点:随时随地开启(容易占用系统资源),不适合小内存的机器使用 (1)符合要求就会进行快照 服务器正常关闭 照快照 key满足一定条件时候 照快照 (2)何时开启快照 服务器正常关闭时候,照一次快照 key满足一定条件时候 照快照 redis.conf文件配置,满足一下任一条件:
900秒(15分钟至少有1个key发生变化),照快照
300秒内,至少有10key改变,照快照
60秒内,至少有10000个改变,照快照
2.RDB的配置使用
1.在redis启动文件中写入如下配置
port 6379 daemonize yes dir /data/6379 # 定义持久化文件存储位置 pidfile /data/6379/redis.pid # redis进程pid文件 loglevel notice # 日志级别 logfile "/data/6379/redis.log" # redis日志log文件 protected-mode yes # 保护模式 dbfilename dbmp.rdb # rdb持久化文件名 #bind 10.0.0.10 127.0.0.1 # redis绑定地址 #requirepass redhat # redis登录密码 save 900 1 # rdb机制 每900秒 有1个修改记录 save 300 10 # 每300秒 10个修改记录 save 60 10000 # 每60秒内 10000修改记录
![redis的持久化相关操纵 - 文章图片](/upload/getfiles/0001/2021/5/9/20210509084105739.jpg)
2.启动redis服务端
3.登录redis设置一个key
4.此时检查目录,/data/6379底下没有dbmp.rdb文件
5.通过save触发持久化,将数据写入RDB文件
127.0.0.1:6379> set age 18 OK 127.0.0.1:6379> save OK
注意: 由于这个dbmp.rdb文件是用来存储持久化数据的,理所当然如果被删除了的话,数据就会消失
3.REDIS的持久化(AOF)
AOF(append-only log file)
记录服务器执行的所有变更操作命令(例如set del等),并在服务器启动时,通过重新执行这些命令来还原数据集
AOF 文件中的命令全部以redis协议的格式保存,新命令追加到文件末尾。
优点:最大程度保证数据不丢失 (比RDB要好,因为RDB有可能丢失数据)
缺点:日志记录非常大
AOF:适合内存比较小的计算机,使用日志功能来保存数据 默认是关闭:所有三种选项 每秒同步(安全性,但是不浪费资源) 每修改同步:只要有key变化语句,就进行AOF保存数据 (比较安全,但是占用资源) 不同步(默认):不进行任何持久化操作 AOF操作:只记录key变化的语句 AOF配置: appenddonly 改为yes always:每修改同步 everysecond:每秒同步 no :从不同步 优点:持续占用极少量资源 缺点:日志文件会特比大
4.开启AOF的操作流程
1.准备aof配置文件 redis.conf
daemonize yes port 6379 logfile /data/6379/redis.log dir /data/6379 dbfilename dbmp.rdb requirepass redhat save 900 1 save 300 10 save 60 10000 appendonly yes appendfsync everysec
2.启动redis服务
redis-server /etc/redis/6379.conf
3.检查redis数据目录/data/6379/是否产生了aof文件
[root@qishi bin]# ll /etc/redis total 72 -rw-r--r--. 1 root root 57775 Apr 20 15:11 6379.conf -rw-r--r--. 1 root root 139 Apr 20 14:27 6380.conf -rw-r--r--. 1 root root 62 Apr 20 15:12 appendonly.aof drwxr-xr-x. 3 root root 18 Apr 16 19:16 data
![redis的持久化相关操纵 - 文章图片](/upload/getfiles/0001/2021/5/9/20210509084106570.jpg)
4..登录redis-cli,写入数据,实时检查aof文件信息
tail -f /etc/redis/appendonly.aof
![redis的持久化相关操纵 - 文章图片](/upload/getfiles/0001/2021/5/9/20210509084107082.jpg)
5.设置新key,检查aof信息,然后关闭redis,检查数据是否持久化
redis-cli -a redhat shutdown redis-server /etc/redis.conf redis-cli -a redhat
文件的位置:不管是是dump.rdb还是appendonly.aof文件的路径都是通过配置文件的dir选项指定的
内容总结
以上是互联网集市为您收集整理的redis的持久化相关操纵全部内容,希望文章能够帮你解决redis的持久化相关操纵所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。