redis-持久化
来源:互联网 发布:cnc编程要学多久 编辑:程序博客网 时间:2024/06/01 13:06
一.mysql与redis的对比
1.关系型数据库:MySQL-持久化
- 任何增删改语句,都是在硬盘上做的操作
- 断电以后,硬盘上的数据还是存在
2.持久化
- 把数据保存在硬盘上
3.内存(兔子)
- 高效、断电数据就会消失
4.硬盘(乌龟)
- 读写速度慢于内存的,断电数据依旧存在
5.非关系型数据库redis
- 默认情况下,所有的增删改,数据都是在内存中进行操作
- 断电以后,内存中的数据不存在的[如果服务器强制断电,就会出现数据丢失的情况
- 断电以后,redis的部分数据会丢失,丢失的数据是保存在内存中的数据
- redis存在持久化操作的
二.持久化策略
对于redis有两种持久化策略,这里我们先介绍下RDB
1.RDB
- 是redis的默认持久化机制
- RDB相当于照快照。保存的是一种状态
- 它可以把20G的数据压缩成几kb的数据保存
- 默认保存在如下
2.RDB优点
- 照快照保存数据速度极快,还原数据速度极快
- 适用于灾难备份(比如服务器房失火,地震的时候,为了保证数据不丢失只需要拷贝dump.rdb这个文件下来就可以了)
3.RDB缺点
小内存机器不适合使用的,RDB机制符合要求就会照快照(随时随地启动,它是首先复制原数据,之后才继续计算转换成rdb最后才变成小空间),会占用一部分系统资源(突然的),很可能内存不足直接宕机(宕机后,服务器会关闭,非正常关闭)
比如你的服务器内存是4G,你的数据是3G,你照快照先是复制原数据3G,加起来就6G了,超出了4G,这样会造成宕机的
- 所以RDB只适用于内存比较充裕的计算机
4.RDB何时进行照快照
- 当服务器正常关闭时,会照一次快照 ./bin/redis-cli shutdown 不可能一直关闭服务器吧,太依赖了
- Key满足一定条件,也会照一次快照
5.RDB的设置
- 在redis.conf下,用vim命令查看
使用”:/”来查看
* save 900 1 #每900秒(15分钟)至少有1个key发生变化,则dump内存快照* save 300 10 #每300秒(5分钟)至少有10个key发生变化,则dump内存快照* save 60 10000 #每60秒(1分钟)至少有10000个key发生变化,则dump内存快照
以上三个条件满足一个就照快照
6.key发生变化(key数据添加,修改,删除)的例子
- 例如1
- 12:00-12:15,有1个key发生变化,在12:15就照一次快照保存
- 12:00-12:15,没有任何key发生变化,在12:15不会照快照
- 例如2
- 12:00-12:05 有11个key发生变化, 在12:05就照一次快照保存
- 12:00-12:05 有9个key发生变化, 在12:05不会照快照,但到12:15会照快照
- 例如3
- 12:00-12:01,有15000个key发生变化,在12:01会照一次快照
- 12:00-12:01,有1000个key发生变化,在12:01不会照快照,但是到12:05会照快照
虽然可以改时间,但是最好别改;因为这是开发者计算出来的效率高,安全,比较节约内存的方式
7.AOF
阅读全文
0 0
- 【redis】redis 持久化
- 【redis】redis持久化
- redis---Redis持久化
- 【Redis】Redis持久化存储
- 【Redis学习】:redis持久化
- 七.redis 持久化
- Redis:七、持久化
- redis 持久化
- 七.redis 持久化
- redis数据持久化
- Redis持久化
- 解密Redis持久化
- 七.redis 持久化
- Redis的持久化
- 解密Redis持久化
- 解密Redis持久化
- redis持久化机制
- redis 持久化
- 导弹拦截(动态规划)
- L8 文件和目录权限chmod,更改所有者和所属组chown,umask,隐藏权限lsattr/chattr
- 最长公共子序列(LCS) c语言/c++
- 微信开发技术总结
- C++——【USACO 5.1.2】——Starry Night
- redis-持久化
- css-3(行元素 块元素 流 盒子模型)
- 20世纪十大算法 The Best of the 20th Century: Editors Name Top 10 Algorithms
- 网络基础知识
- 八数码
- 霍夫变换(Hough Transform)直线检测
- 基于R语言的Kaggle案例分析学习笔记(七)
- cnn-mnist手写识别
- Qt 学习 第3节 导出Execel