五. Redis持久化
Redis是一个支持可持久化的内存数据库,也就是说Redis可以将数据保存到硬盘当中。
目前Redis支持两种持久化方式:
1. snapshotting 快照方式(默认方式)。
2. append-only file (缩写AOF)的方式。
区别:快照方式是将数据存到文件里面,AOF是将 INSERT,UPDATE,DELETE操作存到文件里面。
快照持久化
快照持久化是redis默认的持久化方式。这种方式是将内存中数据以快照的方式写入二进制文件中,默认的文件名为dump.rdb。redis提供了快照持久化的设置方式。
打开 redis.conf 文件:
save 900 1 表示900秒内如果超过1个key被修改,则发起快照保存
save 300 10 表示300秒内如果超过10个key被修改,则发起快照保存
save 60 10000 表示60秒内如果超过10000 个key被修改,则发起快照保存
弊端: 快照方式是在一定间隔时间做一次,所以如果Redis意外挂掉的话,就会丢失最后一次快照后的所有修改。
AOF持久化
AOF比快照方式有更好的持久化性,是由于在使用AOF时,redis会将每一个收到写命令都通过write函数追加到文件中,当redis重启时会通过重新执行文件中保存的写命令来重建整个数据库内容。
当然由于os会在内核中缓存write做的修改,所以可能不是立即写到磁盘上。这样aof方式的持久化仍然还是可能会丢失部分修改。
我们可以通过配置文件告诉redis我们想要通过fsync函数强制os写入到硬盘的时机。
步骤:
1. 修改 redis.conf 文件中 appendonly 项,设置为 appendonly no
2. 配置 appendfsync 项(三选一)
appendfsync always (收到命令就立即写入磁盘,最慢,但是保证最完全的持久化)
appendfsync everysec (每秒钟写入磁盘一次,在性能和持久化方面做了最好的折中)
appendfsync no (完全依赖os,性能最好,持久化方面没保证)
五. Redis持久化的更多相关文章
- Redis系列五 Redis持久化
Redis持久化 一.RDB(Redis DataBase) 1.介绍 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Red ...
- 五、Redis持久化配置
转载:[https://www.cnblogs.com/xingzc/p/5988080.html] Redis提供的持久化机制(RDB和AOF) Redis提供的持久化机制 Redis是一种面向“k ...
- Redis 入门到分布式 (五) Redis持久化的取舍和选择
个人博客网:https://wushaopei.github.io/ (你想要这里多有) Redis持久化的取舍和选择 持久化的作用 RDB AOF RDB和AOF的选择 一.持久化的作用 ...
- Redis(五)持久化
一.RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发. 1.触发机制 (1)手动触发:save命令和bgsave命令 save命令:阻塞当前Re ...
- 解密Redis持久化
原文 http://blog.nosqlfan.com/html/3813.html 本文内容来源于Redis作者博文,Redis作者说,他看到的所有针对Redis的讨论中,对Redis持久化的误解是 ...
- 深度剖析Redis持久化
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt118 Redis是一种面向"key-value"类型数据 ...
- Redis学习——Redis持久化之AOF备份方式保存数据
新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...
- Redis学习——Redis持久化之RDB备份方式保存数据
从这一个介绍里面知道,redis比memcache作为缓存数据库强大的地方,一个是支持的数据类型比较多,另一个就是redis持久化功能. 下面就介绍Redis的持久化之RDB! 一:什么是redis的 ...
- Redis 持久化之RDB和AOP
Redis 持久化之RDB和AOP Redis 有两种持久化方案,RDB (Redis DataBase)和 AOP (Append Only File).如果你先快速了解和使用RDB和AOP,可以直 ...
随机推荐
- elasticsearch 摘要
看终于有人把Elasticsearch原理讲透了!, 后总结: 反向索引又叫倒排索引,是根据文章内容中的关键字建立索引. 搜索引擎原理就是建立反向索引 elasticsearch在Lucene的基础上 ...
- HDU 1006 Tick and Tick 时钟指针问题
Tick and Tick Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- poj1001
#include <iostream> #include<iomanip> #include<cstring> using namespace std; int s ...
- centos7非centos标准服务 /etc/init.d/service_name start || stop 启动异常
公司自己写的java程序,在centos7系统执行/etc/init.d/service_name start||stop的时候报错: grafana二次开发的程序 [root@docp1 init. ...
- LAMP环境快速搭建
1.安装httpd [root@localhost httpd]# yum -y install httpd #安装httpd [root@localhost httpd]# chkconfig ht ...
- 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图
破土而出的生命力,源自理想主义者心底对技术的信念. 云原生技术正席卷全球,云原生基金会在去年KubeCon +CloudNativeCon NA的现场宣布: 其正在孵化的项目已达14个,入驻的厂家或产 ...
- es6入门1-- let与var的区别详解
一.前言 说到做到,现在暂时放了放JS模式的读书笔记,打算好好看看ES6,毕竟出了这么久了,还是靠JS吃饭的,都不好好学JS新特性,确实说不过去,我本来是想当读书笔记去记录ES6,但是这个确实是属于边 ...
- MyBatis源码解析(十)——Type类型模块之类型处理器TypeHandler
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6715063.html 1.回顾 之前的两篇分别解析了类型别名注册器和类型处理器注册器,此二 ...
- 微信小程序--帮助选择困难症者
用户登录小程序成功后,通过传来的code获取openid,后端用的是PHP //获取code值换取openid public function code_weixin(Request $request ...
- OJ:奇怪的类复制
描述 程序填空,使其输出9 22 5 #include <iostream> using namespace std; class Sample { public: int v; // 在 ...