Redis进阶:Redis的持久化机制
Redis进阶:Redis的持久化机制
Redis的持久化机制目前包括RBD和AOF两种方式。
RDB持久化
RDB持久化方式是在指定的时间间隔对数据进行快照存储。过期的键值不会被存储到快照中。如果恢复数据时数据已过期,会通过主动或被动清理策略进行删除。
- 优点:性能影响小,恢复速度快。与AOF相比,在回复大数据量时,速度更快。
- 缺点:save是阻塞式创建快照,如果数据大会影响其他命令的响应。强行关闭或者出现故障的情况下,会存在数据丢失的情况。
//创建子线程异步将快照写入磁盘
bgsave
//阻塞式存储快照,执行该命令时,不在响应其他指令
save
// Redis.Config 可以对save配置进行调整。两个条件满足一个都会触发生成快照。
save 900 1 //900S内 至少1次写操作 触发 快照
save 300 10 //300S内 至少10次写操作 触发 快照
save 60 10000 //60S内 至少10000次写操作 触发 快照
AOF持久化
记录每次对服务器写的操作。服务器重启时会重新执行命令来恢复数据。AOF命令以redis协议追加保存每次写的操作到文件末尾。Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.
优点:安全 容灾 备份文件易读可修改。
缺点:备份文件占用空间大,恢复速度比RDB较慢。
开启: redis.config中的appendonly属性值修改为yes,默认为no。
AOF策略调整
//每次修改都写入AOF 绝对不丢失数据。最安全
appendfsync always
//每秒写入一次AOF 默认策略 在周期内同样存在丢失数据的情况。
appendfsync everysec
//关闭AOF持久化 性能最好
appendfsync no
如何选择持久化方式
- 如果想要达到PostgreSQL的数据安全性,推荐两种方式同时使用。
- 如果可以承受一定时间内(几分钟或者几秒),可以只使用RDB快照方式。
- 很多用户只使用AOF方式,但是官方不推荐,因为定时生成快照方式便有数据管理,同时AOF在特定情况BRPOPLPUSH存在BUG的情况,因为RDB是从头开始创建,理论上更加健壮。
注意
Redis虽然提供了RDB快照及AOF两种持久化的方式,但这两种方式各有利弊:
- RDB不能保证数据完全不丢失,会存在部分数据丢失的情况,具体丢失的数据有多少,具体取决于业务数据量大小及Redis配置文件中关于RDB的触发机制配置。
- 使用AOF同样会存在在数据丢失的情况,具体是和appendfsync配置的周期有关,同时AOF会降低Redis的读写性能,而且无法支持较大的数据量。
以上就是Redis中持久化操作的相关介绍了,更多其他指令可以参考官网,Redis官网,谢谢阅读,希望对你有所帮助。
Redis进阶:Redis的持久化机制的更多相关文章
- Redis进阶:Redis的主从复制机制
Redis进阶:Redis的主从复制机制 主从复制机制介绍 单机版的Redis存在性能瓶颈,Redis通过提高主从复制实现读写分离,提高了了Redis的可用性,另一方便也能实现数据在多个Redis直接 ...
- Redis系列之----Redis的两种持久化机制(RDB和AOF)
Redis的两种持久化机制(RDB和AOF) 什么是持久化 Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望 ...
- 《【面试突击】— Redis篇》-- Redis哨兵原理及持久化机制
能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis哨兵原理及持久化机制 在这个系列里, ...
- Redis的两种持久化机制
Redis的两种持久化机制 1.持久化机制 client--->redis(内存)--->内存数据-数据持久化--->磁盘 两种方法 快照(Snapshot) AOF(Append ...
- Redis进阶:Redis的哨兵模式搭建
Redis进阶:Redis的哨兵模式搭建 哨兵机制介绍 单机版的Redis存在性能瓶颈,Redis通过提高主从复制实现读写分离,提高了了Redis的可用性,另一方便也能实现数据在多个Redis直接的备 ...
- Redis 文章一 之持久化机制的介绍
我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的 企业级redis集群架构:海量数据.高并发.高可用 持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去,比如你re ...
- redis常用命令及持久化机制
redis 常用命令 查找redis服务文件 find / -name redis-server 查找配置文件 find / -name redis.conf 启动服务时候,要指定配置文件 启动r ...
- 详解Redis中两种持久化机制RDB和AOF(面试常问,工作常用)
redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失.幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Ap ...
- 详解Redis中两种持久化机制RDB和AOF
redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失.幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Ap ...
随机推荐
- 控制DIV内容滚动的方法,实现不用拖滚动条就可以看到最新消息
三种控制DIV内容滚动的方法: 本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv ...
- 缓存promise技术不错哦
1. pageManager.js const promiseList = {}; module.exports = { putData: function(pageName,data){ promi ...
- C++ GUI Qt4学习笔记01
C++ GUI Qt4学习笔记01 qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...
- Arduino-一些函数
随机函数: int x=random(); //返回一个整型随机数 int x=random(10); //返回一个 [0,10) 整型随机数 int x=random(1,8); //返回一个 ...
- Quantitative Startegies for Achieving Alpha(二)
Chapter 3 The Day-To-Day Drivers Of Stock Market Returns Summary: (1) Earning growth is the primary ...
- linux运维、架构之路-jumpserver
一.jumpserver介绍 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开源,GPL ...
- codeforces D Salary Changing
题意:给你n个人,和s块钱,每个人都有一个工资区间,你给所有人都发工资.然后要他们工资的中位数最大. 思路:二分找那个值.那个值要满足至少有n/2+1个工资区间内. #include<cstdi ...
- [CSP-S模拟测试]:打扫卫生(暴力)
题目描述 有$N$头奶牛,每头那牛都有一个标号$P_i1\leqslant Pi\leqslant M\leqslant N\leqslant 40,000$.现在$Farmer\ John$要把这 ...
- CTO爆料:2019程序员最需要了解的行业前沿技术是什么?
安森,个推CTO 毕业于浙江大学,现全面负责个推技术选型.研发创新.运维管理等工作,已带领团队开发出针对移动互联网.金融风控等行业的多项前沿数据智能解决方案. 曾任MSN中国首席架构师,拥有十余年资深 ...
- Springboot-H2DB
为什么在Springboot中用H2DB 用Springboot开发需要连接数据库的程序的时候,使用H2DB作为内存数据库可以很方便的调试程序. 怎么用 1.加入依赖 <dependency&g ...