五. 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,可以直 ...
随机推荐
- Web存储及文件拖拽
存储 实现内容的永久保存(localStorage) 保存: localStorage.自定义键名="123"; 获取: //判断是否有内容 if(localStorage.自定义 ...
- es7你都懂了吗?今天带你了解es7的神器decorator
es7带来了很多更强大的方法,比如async/await,decorator等,相信大家对于async/await已经用的很熟练了,下面我们来讲一下decorator. 何为decorator? 官方 ...
- jquery click嵌套 事件重复注册 多次执行的问题解决
jquery click事件中嵌套click会重复注册内部的click事件,导致重复执行. 比如 $(...).click(function(){ $(...).click(function(){ ...
- 【jQuery】(4)---jQuery常用事件
[jQuery入门](4)---jQuery常用事件 一.常用事件列表 1.blur() 当失去焦点时触发.包括鼠标点击离开和TAB键离开. 2.change() 当元素获取焦点后,值改变失去焦点事触 ...
- 【python】版本35 正则-非库-爬虫-读写xlw文件
#交代:代码凌乱,新手一个,论坛都是高手,我也是鼓了很大勇气,发出来就是被批评和进步的 #需求:需要对某网站的某id子标签批量爬取,每个网页的id在xlw里,爬取完,再批量存取到这xlw里的第6行 ...
- java遍历Map
//方法一 Set<String> keys = map.keySet(); for (String key:keys) { System.out.println(key+",& ...
- ArcSDE数据库连接(直连、服务连)与GT_Geometry存储配置图解
众说周知,ArcSDE空间数据库引擎提供了两种连接数据库的方式.一是服务连接方式,一是直连方式.后者也是Esri所推崇的方式.但是,在客户的生产环境和开发商的开发环境中这两种方式都是有需求的.下面就以 ...
- Code Complete-13/7/23
What is "construction"? Hava u ever used construction paper to make some things?What i ...
- Oracle性能优化之查询语句通用原则
作者早期文章 Oracle优化 索引是表的一个概念部分 , 用来提高检索数据的效率, ORACLE 使用了一个复杂的自平衡 B-tree 结构 . 通常 , 通过索引查询数据比全表扫描要快 . 当 O ...
- Java——String对象
前言 实际上任何语言都没有提供字符串这个概念,而是使用字符数组来描述字符串.Java里面严格来说也是没有字符串的,在所有的开发里面字符串的应用有很多,于是Java为了应对便创建了String类这个字符 ...