redis持久化的方法及对比
2024-09-04 14:04:46
1、持久化的作用
redis所有的数据保持在内存中,对数据的更新将异步的保存到磁盘上。
两种方式:
2、RDB
2.1、概念
2.2、触发机制
2.2.1、save 同步
因为是同步命令,数据量大的话可能会造成阻塞
文件策略:如果存在老的RDB文件,会用新的替换老的
2.2.2、bgsave 异步
需要linux的fork,很快,不过也有可能会阻塞掉主进程
文件策略同上
2.2.3、自动
推荐配置:
//满足任一条件就执行
save 900 1
save 300 10
save 60 10000
//文件名加入端口号,以防多redis时覆盖
dbfilename dump-${port}.rdb
//写入目录另外分盘或者是大一点的目录,而不是当前目录
dir /bigdispath
//写入错误时是否停止写入
stop-writes-on-bgsave-error yes
//是否压缩
rdbcompression yes
//是否采用校验模式
rdbchecksum yes
2.3、演示
设置60秒钟改变5次就自动保存
查看日志,自动保存
2.4、问题
耗时耗性能
容易丢数据,不可控
3、AOF
3.1、三种策略
always 每次改变数据都存
everysec 每秒存一次
no 操作系统决定
对比
一般使用第二种
AOF重写
自动优化命令、过滤过期数据
AOF重写流程
AOF重写作用
减少硬盘占有量,加快恢复速度
实现
bgrewriteaof 异步执行
AOF重写配置
4、选择
最新文章
- FreeBSD 查看硬件信息
- mybatis 打印sql 语句
- 原生JavaScript事件详解
- [转]jQuery Popup Login and Contact Form
- HTML-003-模拟IDE代码展开收起功能简单示例
- li有无缩略图样式调取
- IE 下加载jQuery
- flex 组建重写
- 学渣也要搞 laravel(4)—— 服务 加解密篇
- ThinkPHP Uploadify 图片上载
- Respond.js让IE6-8支持CSS3 Media Query
- eclipse 使用maven 创建springmvc + mybatis
- golang各版本的变化
- Kotlin实现《第一行代码》案例“酷欧天气”
- 理解WebKit和Chromium: 网页渲染的基本过程
- Android-蓝牙自动配对与隐藏对话框
- 【NOI2008】志愿者招募
- [转帖]Windows平台卸载Oracle的办法
- Deconvolution用法
- nginx负载均衡后端tomcat无法加载js资源