没有合适的资源?快使用搜索试试~ 我知道了~
redis第三次课笔记1
资源详情
资源评论
资源推荐
redis 持久化机制
redis 提供了两种持久化策略
RDB
RDB 的持久化策略: 按照规则定时讲内从的数据同步到磁盘
snapshot
redis 在指定的情况下会触发快照
1. 自己配置的快照规则
save <seconds> <changes>
save 900 1 当在 900 秒内被更改的 key 的数量大于 1 的时
候,就执行快照
save 300 10
save 60 10000
2. save 或者 bgsave
save: 执行内存的数据同步到磁盘的操作,这个操作会阻塞
客户端的请求
bgsave: 在后台异步执行快照操作,这个操作不会阻塞客户
端的请求
3. 执行 flushall 的时候
清除内存的所有数据,只要快照的规则不为空,也就是第一
个规则存在。那么 redis 会执行快照
4. 执行复制的时候
快照的实现原理
1:redis 使用 fork 函数复制一份当前进程的副本(子进程)
2:父进程继续接收并处理客户端发来的命令,而子进程开始
将内存中的数据写入硬盘中的临时文件
3:当子进程写入完所有数据后会用该临时文件替换旧的 RDB
文件,至此,一次快照操作完成。
注意:redis 在进行快照的过程中不会修改 RDB 文件,只有快
照结束后才会将旧的文件替换成新的,也就是说任何时候 RDB
文件都是完整的。 这就使得我们可以通过定时备份 RDB 文件
来实现 redis 数据库的备份, RDB 文件是经过压缩的二进制文
件,占用的空间会小于内存中的数据,更加利于传输。
RDB 的优缺点
1. 使用 RDB 方式实现持久化,一旦 Redis 异常退出,就会
丢失最后一次快照以后更改的所有数据。这个时候我们
就需要根据具体的应用场景,通过组合设置自动快照条
件的方式来将可能发生的数据损失控制在能够接受范围。
如果数据相对来说比较重要,希望将损失降到最小,则
可以使用 AOF 方式进行持久化
2. RDB 可以最大化 Redis 的性能:父进程在保存 RDB 文件
时唯一要做的就是 fork 出一个子进程,然后这个子进程
就会处理接下来的所有保存工作,父进程无序执行任何
磁盘 I/O 操作。同时这个也是一个缺点,如果数据集比
较大的时候,fork 可以能比较耗时,造成服务器在一段
时间内停止处理客户端的请求;
实践
修改 redis.conf 中的 appendonly yes ; 重启后执行对数据的变
更命令, 会在 bin 目录下生成对应的.aof 文件, aof 文件中
会记录所有的操作命令
如下两个参数可以去对 aof 文件做优化
auto-aof-rewrite-percentage 100 表示当前 aof 文件大小超
过上一次 aof 文件大小的百分之多少的时候会进行重写。如果
之前没有重写过,以启动时 aof 文件大小为准
auto-aof-rewrite-min-size 64mb 限制允许重写最小 aof 文
件大小,也就是文件大小小于 64mb 的时候,不需要进行优化
AOF
AOF 可以将 Redis 执行的每一条写命令追加到硬盘文件中,
这一过程显然会降低 Redis 的性能,但大部分情况下这个
影响是能够接受的,另外使用较快的硬盘可以提高 AOF 的
性能
剩余10页未读,继续阅读
又可乐
- 粉丝: 60
- 资源: 309
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SmartPlug-html大一笔记
- SmartPlug-proteusdemo
- Preliminary Findings on Handmade Rattan Baby Crib andBassinet Designs Regarding.zip
- aveebfq_v1.2.83_downyi.com.apk
- 基于有机发光二极管(OLED)的建模优化算法的matlab仿真源码+数据+文档说明+项目说明(高分课程设计)
- hash01-test.c 本人哈希表(一)的示例代码,仅供参考!
- 处理数据.py
- 软件实施计划表.xls
- 软件开发应用软件项目提交文档目录要求(全过程)(推荐文档).xls
- 软件开发项目工作量及报价模板.xls
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0