redis数据安全(一)数据持久化

 一、Redis数据安全措施:

1、将数据持久化至硬盘

2、将数据复制至其他机器;

复制是在数据持久化的基础上进行的。

二、将数据持久化至硬盘

1、介绍:Redis是一个基于内存的数据库,它的数据是存放在内存中,内存有个问题就是关闭服务或者断电会丢失。Redis的数据也支持写到硬盘中,这个过程就叫做持久化。

持久化的一个重要原因是为了在之后重用数据,或是为了防止系统故障而将数据备份到一个远程位置。

注意:通常 Redis 的主节点是不会进行持久化操作,持久化操作主要在从节点进行。从节点是备份节点,没有来自客户端请求的压力,它的操作系统资源往往比较充沛。

2、Redis持久化选项:Redis提供了2种不同形式的持久化方式

(1)RDB(Redis DataBase) :Redis可以通过快照来获得存储在内存里面的数据在某个时间点上的副本。创建快照后,用户可以对快照进行备份,也可以将快照复制到其他服务器从而创建具有相同数据的服务器副本。简而言之,就是在指定的时间间隔内,定时的将 redis 存储的数据生成Snapshot快照并存储到磁盘等介质上。这是redis备份默认方式;
(2)AOF(Append only File) :只追加文件,将被执行的写命令写到AOF文件的末尾,,在下次 redis 重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。

3、实际使用:

(1)可以单独使用某一种。如果对数据不敏感,可以单独用RDB;但不建议单独使用AOF,因为可能会出现BUG。

(2)也可以同时使用这两种方式,官方推荐2个都启用。

 在这种情况下,当redis重启的时候会优先载入AOF文件来恢复原始的数据,这是因为 AOF 方式的数据恢复完整度更高,且AOF文件保存的数据集要比RDB文件保存的数据集要完整

(3)可以选择关闭持久化: 如果没有数据持久化的需求,也完全可以关闭 RDB 和 AOF 方式,这样的话,redis 将变成一个纯内存数据库,就像 memcache 一样。

官网介绍:

  • Redis 持久化
  • Redis持久化

4、比较:

 5、性能建议:

(1)因为RDB文件只用作后备用途,建议只在Slave上持久化RDB文件,而且只要15分钟备份一次就够了,只保留 save 900 1 这一条

(2)AOF的代价,一是带来持续的IO,二是AOF rewrite的最后将rewrite过程中产生的新数据(aof_rewrite_buf)写到文件造成的阻塞几乎是不可避免的。如果使用AOF,好处是在最恶劣的情况下也只会丢失不超过两秒数据,启动脚本较简单只load自己的AOF文件就可以了。

只要硬盘许可,应该尽量减少AOF rewrite的频率,AOF重写的基数大小默认值64M(autoaof-rewrite-min-size)太小了,可以设置到5G以上;默认超过原大小100%(auto-aof-rewrite-percentage)大小时重写可以改到适当的数值。

三、Redis 4.0 混合持久化:

1、原理:

重启 Redis 时,我们很少使用 rdb 来恢复内存状态,因为会丢失大量数据。我们通常使用 AOF 日志重放,但是重放 AOF 日志性能相对 rdb 来说要慢很多,这样在 Redis 实例很大的情况下,启动需要花费很长的时间。

Redis 4.0 为了解决这个问题,带来了一个新的持久化选项——混合持久化。将 rdb 文件的内容和增量的 AOF 日志文件存在一起。这里的 AOF 日志不再是全量的日志,而是自持久化开始到持久化结束的这段时间发生的增量 AOF 日志,通常这部分 AOF 日志很小。

在 Redis 重启的时候,可以先加载 rdb 的内容,然后再重放增量 AOF 日志就可以完全替代之前的 AOF 全量文件重放,重启效率因此大幅得到提升。

2、混合持久化配置:

在redis的配置文件当中有一个aof-use-rdb-preamble参数来开启 混合持久化,默认是yes开启的。混合持久化结合了 RDB 和 AOF 的优点,Redis 5.0 默认是开启的。

3、混合持久化优缺点:

(1)优点:混合持久化结合了 RDB 和 AOF 持久化的优点,开头为 RDB 的格式,使得 Redis 可以更快的启动,同时结合 AOF的优点,有减低了大量数据丢失的风险。

(2)缺点:

  • AOF 文件中添加了 RDB 格式的内容,使得 AOF 文件的可读性变得很差;
  • 兼容性差,如果开启混合持久化,那么此混合持久化 AOF 文件,就不能用在 Redis 4.0 之前版本了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/240470.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018年认证杯SPSSPRO杯数学建模A题(第一阶段)海豚与沙丁鱼全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 探究海豚猎捕时沙丁鱼群的躲避运动模型 A题 海豚与沙丁鱼 原题再现: 沙丁鱼以聚成大群的方式来对抗海豚的捕食。由于水下光线很暗,所以在距离较远时,海豚只能使用回声定位方法来判断鱼群的整体位置&#xf…

配网故障定位装置:未来发展趋势与挑战

在电力系统中,恒峰智慧科技设计的配网故障定位装置是一个至关重要的设备,它可以帮助我们快速准确地找到故障发生的位置,从而进行有效的维修。随着科技的发展,这种设备也在不断地进步和改进。本文将探讨配网故障定位装置的未来发展…

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测 目录 回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测预测效果基本描述程序设计参考资料 预测效果 基本描…

行为型设计模式——中介者模式

中介者模式 中介者模式主要是将关联关系由一个中介者类统一管理维护,一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即…

【软件测试学习笔记6】Linux常用命令

格式 command [-options] [parameter] command 表示的是命令的名称 []表示是可选的,可有可无 [-options]:表示的是命令的选项,可有一个或多个,也可以没有 [parameter]:表示命令的参数,可以有一个或多…

包含广告或宣传性质的内容或参考资料不对应,百度百科词条怎么改

想要修改百度百科词条,却发现在编辑百度百科词条时经常提示“包含广告或宣传性质的内容”,又或者经常遇到“参考资料不对应”的情况,我们该如何正确修改百度百科词条才能推广,洛希爱做百科网为大家分享。 修改百科百度百科词条提示…

无法打开浏览器开发者工具的可能解决方法

网页地址: https://jx.xyflv.cc/?url视频地址url 我在抖音里面抓了一个视频地址, 获取到响应的json数据, 找到里面的视频地址信息 这个网站很好用: https://www.jsont.run/ 可以使用js语法对json对象操作, 找到所有视频的url地址 打开网页: https://jx.xyflv.cc/?urlhttps:…

橘子学Mybatis07之Mybatis关于缓存的设计

很逆天的一件事是,我上一次发mybatis是在2022年10月15号,然后直到今天才开始总结下一篇Mybatis的东西。一年里面忙成那啥了,而且重心都投入在了Elasticsearch的学习上面,基本一年下来都在搞ES,并且考下了ECE认证&#…

Java 方法中参数类型后写了三个点?什么意思?

1、...代表什么意思? 2、如何使用 3、注意事项 4、两个list,一个新的,一个旧的,旧列表中可能有新列表中存在的数据,也可能存在新列表中不存在的数据(注:新旧列表中都不存在重复元素)…

运动蓝牙耳机选购指南,2024年蓝牙运动耳机品牌推荐

​运动耳机不仅要具备防水防汗能力,还要有稳定的连接性能和出色的音质。面对市场上琳琅满目的运动耳机,如何选择成为了一个问题。今天,我将为你推荐几款在运动中表现不错的耳机,它们能在各种环境中提供稳定可靠的音乐体验。 1.南…

Spring之AOP源码(二)

书接上文 文章目录 一、简介1. 前文回顾2. 知识点补充 二、ProxyFactory源码分析1. ProxyFactory2. JdkDynamicAopProxy3. ObjenesisCglibAopProxy 三、 Spring AOP源码分析 一、简介 1. 前文回顾 前面我们已经介绍了AOP的基本使用方法以及基本原理,但是还没有涉…

工业平板定制方案_基于联发科、紫光展锐平台的工业平板电脑方案

工业平板主板采用联发科MT6762平台方案,搭载Android 11.0操作系统, 主频最高2.0GHz,效能有大幅提升;采用12nm先进工艺,具有低功耗高性能的特点。 该工业平板主板搭载了IMG GE8320图形处理器,最高主频为680MHz, 支持108…

通过wireshark抓取的流量还原文件(以zip为例)

wireshark打开流量包,通过zip关键字查找 追踪流可查看详细信息 选中media Type右键, 点击导出分组字节流选项 将生成的文件进行命名,需要时什么格式就以什么格式后缀

DQN、Double DQN、Dueling DQN、Per DQN、NoisyDQN 学习笔记

文章目录 DQN (Deep Q-Network)说明伪代码应用范围 Double DQN说明伪代码应用范围 Dueling DQN实现原理应用范围伪代码 Per DQN (Prioritized Experience Replay DQN)应用范围伪代码 NoisyDQN伪代码应用范围 部分内容与图片摘自:JoyRL 、 EasyRL DQN (Deep Q-Networ…

Kafka-消费者-KafkaConsumer分析-ConsumerCoordinator

在前面介绍了Kafka中Rebalance操作的相关方案和原理。 在KafkaConsumer中通过ConsumerCoordinator组件实现与服务端的GroupCoordinator的交互,ConsumerCoordinator继承了AbstractCoordinator抽象类。 下面我们先来介绍AbstractCoordinator的核心字段,如…

UML-活动图

提示:大家可以参考我的状态图博客 UML-活动图 一、活动图的基本概念1.开始状态和结束状态2.动作状态和活动状态(活动)3.分支与合并4.分叉与合并5.活动转换(1)转移(2)判定 6.泳道 二、活动图的例…

数据结构:顺序栈

栈是一种先进后出的数据结构,只允许在一端(栈顶)操作,代码中top表示栈顶。 stack.h /* * 文件名称:stack.h * 创 建 者:cxy * 创建日期:2024年01月17日 * 描 述: …

数据分片概述、环境准备、部署MyCAT服务、全局表、分片表、ER表

1 案例1:部署mycat服务 1.1 问题 把主机mysql60 配置为 MySQL59 的从服务器把主机mysql62 配置为 MySQL61 的从服务器把主机mycat63 配置为mycat服务器客户端192.168.88.50访问mycat服务 1.2 方案 准备6台虚拟机,具体配置如表-1 1.3 步骤 实现此案例…

Docker中创建并配置MySQL、nginx、redis等容器

Docker中安装并配置MySQL、nginx、redis等 文章目录 Docker中安装并配置MySQL、nginx、redis等一、创建nginx容器①:拉取镜像②:运行nginx镜像③:从nginx容器中映射nginx配置文件到本地④:重启nginx并重新配置nginx的挂载 二、创建…

React全局状态管理

redux是一个状态管理框架,它可以帮助我们清晰定义state和处理函数,提高可读性,并且redux中的状态是全局共享,规避组件间通过props传递状态等操作。 快速使用 在React应用的根节点,需要借助React的Context机制存放整个…