Redis持久化配置
Redis持久化配置持久化: 即把数据存储于断电后不会丢失的设备中,通常是硬盘. 常见的持久化方式:主从:通过从服务器保存和持久化,如mongoDB的replication sets配置。 淘宝是主服务器往内存里面写,从服务器往硬盘里面写。mysql,oracle往磁盘写通过操作生成二进制日志,突然断电可以通过日志恢复数据。 couchDB无论增删改差都作用于文件上,文件本身就涵盖了日志信息。日志和文件结构是一体的。Redis的持久化有2种方式 1.rdb快照持久化 2.Aof日志rdb的工作原理: redis的数据是在内存里面,直接把内存的数据以快照(内存的映像文件)的方式,数据结构都搬过来,直接往内存中搬。 每隔N分钟或N次写操作后, 从内存dump数据形成rdb文件,压缩,放在备份目录Rdb快照的配置选项conf文件://从下向上看 save 900 1 // 900秒内,有1条写入,则产生快照 save 300 1000 // 如果300秒内有1000次写入,则产生快照 save 60 10000 // 如果60秒内有10000次写入,则产生快照 (这3个选项都屏蔽,则rdb禁用,不导出了)stop-writes-on-bgsave-error yes // 后台备份进程出错时,主进程停不停止写入? rdbcompression yes // 导出的rdb文件是否压缩(文件太大了) Rdbchecksum yes // 导入rbd恢复时数据时,要不要检验rdb的完整性 Dbfilename dump.rdb //导出来的rdb文件名 Dir ./ //rdb的放置路径rdb的优势:恢复速度非常快。 rdb的缺陷:在2个保存点之间,断电,将会丢失1-N分钟的数据(数据还在redis的内存中还没有持久化)。 出于对持久化的更精细要求,redis增添了aof方式 append only file(追加文件持久化)
Aof 的配置(aof和rdb可以同时存在) 把执行的每条命令写文本文件中去,每执行一个命令就往文件去写速度就慢下来了,appendonly no # 是否打开 aof日志功能appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢 appendfsync everysec # 折衷方案,每秒写1次 appendfsync no # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,操作系统也有缓冲4k大小。 appendfilename ./appendonly.aof //文件目录no-appendfsync-on-rewrite yes: # 正在导出rdb快照的过程中,要不要停止aof的同步 auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时,重写 auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M时重写,否则刚开始时候很容易达到100%注: 在dump rdb过程中,aof如果停止同步,会不会丢失? 答: 不会,所有的操作缓存在内存的队列里, dump完成后,统一操作.注: aof重写是指什么? aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里,以解决 aof日志过大的问题。 比如重复修改同一个key,修改了100次,则存了100次,恢复的时候也要恢复100次。 aof重写是对同一个key的多次操作只记录最后的结果。问: 如果rdb文件,和aof文件都存在,优先用谁来恢复数据? 答: aof。Rdb的恢复速度快因为是数据的内存映射,aof要逐条来执行。问: 2种是否可以同时用? 答: 可以,而且推荐这么做问: 恢复时rdb和aof哪个恢复的快 答: rdb快,因为其是数据的内存映射,直接载入到内存,而aof是命令,需要逐条执行 redis 服务器端命令 redis 127.0.0.1:6380> time ,显示服务器时间 , 时间戳(秒), 微秒数 1) "1375270361" 2) "504511"redis 127.0.0.1:6380> dbsize // 当前数据库的key的数量 (integer) 2 redis 127.0.0.1:6380> select 2 OK redis 127.0.0.1:6380[2]> dbsize (integer) 0 redis 127.0.0.1:6380[2]> BGREWRITEAOF 后台进程重写AOF BGSAVE 后台保存rdb快照 SAVE 保存rdb快照 LASTSAVE 上次保存时间Slaveof master-Host port , 把当前实例设为master的slaveFlushall 清空所有库所有键 Flushdb 清空当前库所有键 Showdown [save/nosave]注: 如果不小心运行了flushall, 立即 shutdown nosave ,关闭服务器 然后 手工编辑aof文件, 去掉文件中的 “flushall ”相关行, 然后开启服务器,就可以导入回原来数据.如果,flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失.
本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8278847.html,如需转载请自行联系原作者
Redis持久化配置相关推荐
- 运维之道 | Redis 持久化配置
Redis 持久化配置 前言 Redis为持久化提供了两种方式: RDB:在指定的时间间隔能对你的数据进行快照存储. AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的 ...
- docker+redis 持久化配置(AOF)
RDB持久化与AOF持久化简单描述 RDB:RDB使用快照的方式存储数据库中的内容,直接将所有键值对数据全部存入二进制文件.建议使用BGSAVE来进行备份,整个过程会新fork一个子进程来执行,不影响 ...
- redis持久化配置及两种方式
持久化 redis持久化是指在指定的时间间隔内将内存中的数据集快照(snapshotting)写入磁盘,恢复时是将快照文件读入内存 redis提供了两种持久化方式 一:RDB内存快照 1:概念 RDB ...
- Redis持久化配置与操作
持久化 写在前面 在linux系统中: 父子进程数据是隔离的 父进程可以让子进程看到父进程的数据,采用export修饰 export的环境变量,父子进程的修改互补影响,影响范围仅为自身进程 redis ...
- Redis[5] key的过期时间删除策略、实现lru算法、持久化配置
文章目录 Redis[5] key的过期时间删除策略.持久化配置 **Redis6的key过期时间删除策略** Redis服务器实际使用的是惰性删除和定期删除两种策略:通过配合使用这两种删除策略,服务 ...
- Redis-学习笔记03【Redis持久化】
Java后端 学习路线 笔记汇总表[黑马程序员] Redis-学习笔记01[Redis环境搭建] Redis-学习笔记02[Redis命令操作] Redis-学习笔记03[Redis持久化] Redi ...
- Docker安装Redis以及配置Redis环境
1,下载Redis镜像 首先拉取 Redis 镜像, 这里我选择的是 redis:alpine 轻量级镜像版本 docker pull redis:alpine 下载完成后,通过 docker ima ...
- 跟着狂神学Redis(NoSql+环境配置+五大数据类型+三种特殊类型+Hyperloglog+Bitmap+事务+Jedis+SpringBoot整合+Redis持久化+...)
跟着狂神学Redis 狂神聊Redis 学习方式:不是为了面试和工作学习!仅仅是为了兴趣!兴趣才是最好的老师! 基本的理论先学习,然后将知识融汇贯通! 狂神的Redis课程安排: nosql 讲解 阿 ...
- redis主从配置之持久化配置
环境描述: centos:7.6docker:19.03.1redis:6.0.9 对于centos怎么装docker,docker又怎么装redis镜像等等内容就不做概述了.如果还不会这个,就先去百 ...
最新文章
- boot.asm文件注释
- Python公众号开发部分代码开源
- sublime 2 中常用快捷键
- HashMap之三问为什么及性能问题
- VTK计算网格模型上的最短路径
- vue 后台获取数据 下拉框_Vue开发中的一些常见套路和技巧
- 【Floyed】【最短路】商店选址问题(ssl 1760)
- win102004优化_win10 2004系统电脑出现玩命运2掉帧的问题
- SpringMVC 视图解析器及拦截器
- 【nodejs原理源码赏析(5)】net模块与通讯的实现
- linux服务器文件名称乱码,linux中文文件名乱码怎么解决?
- Linux C语言操作SQLite数据库
- mac os 设置汇总
- linux nginx php7,linux nginx配置php7
- Spring MVC 入门指南(二):@RequestMapping用法详解
- 关于网上商城开发的随笔记录2
- 微服务架构 | 配置中心 - [Config]
- CactiEZ-10.1版本安装和配置教程
- Zynga 在韩国发布游戏《Harry Potter: Puzzles Spells》
- 基于牛顿冷却定律的时间衰减函数模型
热门文章
- Testng.xml文件讲解
- PHP条件语句总结,php条件语句的总结
- c语言 方程改main的值_C语言和汇编语言是什么?他们之间可以有怎样的合作?为你解析...
- python virtualenv 坑_Python 虛擬環境 | Mac/Linux下如何避坑安裝配置Virtualenv
- php全站文章搜索,Discuz X3.1全站文章全文检索的实现方法
- 怎么结束linux里的redis进程,linux 怎么结束redis的monitor命令
- Django讲课笔记09:使用QuerySet新增和更新数据
- 2017.9.1 最小生成树 失败总结
- word回车后间距太大_关于Word自动编号你知道多少?
- 【英语学习】【WOTD】orthography 释义/词源/示例