redis RDB持久化[手工持久化]:

RDB持久化在指定的时间间隔内生成数据集的时间点快照[point-in-time snapshot]

优点: 速度快,适合于备份

缺点: 会有数据丢失

#正常没有做持久化时
[root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
10.0.0.63:6379> set name timo
OK
10.0.0.63:6379> exit
[root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
10.0.0.63:6379> get name
"timo"
没有shutdown时数据还在,现在执行shutdown
然后重新启动redis
10.0.0.63:6379> shutdown
not connected> exit
[root@k8s-master1 6379]# redis-server /nosql/redis/6379/redis.conf 登录进去后,查询设置的 timo 键值:
10.0.0.63:6379> get name
(nil)
此时为空。 #手工持久化[RDB持久化]:
[root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
10.0.0.63:6379> set name01 timo
OK
10.0.0.63:6379> save
OK
10.0.0.63:6379> shutdown #关闭redis
not connected> exit 启动后查询:
[root@k8s-master1 6379]# redis-server /nosql/redis/6379/redis.conf
[root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
10.0.0.63:6379> get name01
"timo"
此时就是做了手工持久化,使得数据保存了,在重启后依然存在。
我们知道没有持久化的数据都在内存中,一旦重启内存就被释放了,此时只有手工持久化才行。 save就是手工持久化。

redis RDB持久化条件配置【适合用于备份】redis rdb持久化策略

手工持久化可以设置哪些数据会被持久化,设置条件后即使我们不手工敲save 系统也会自动帮我们做持久化操作。

rdb持久化也叫快照持久化,他会持久化当前内存状态。

优点:数据持久化快。 非常适合用于备份。

RDB持久化快照条件配置
在我们不用敲save主动进行持久化的时候,我们还可以使用一些条件进行自动持久化,比如设置 100秒保存一次。
redis.conf 添加条件如下: save 900 1
save 300 10
save 60 10000 配置分别表示:
900秒(15分钟)内有1个更改
300秒(5分钟)内有10个更改
60秒内有10000个更改

redis AOF持久化

记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集

AOF文件中的命令全部以redis协议格式来保存,新命令追加到文件末尾。

优点: 可以最大程度保证数据不会丢失

缺点:日志记录的量级会比较大

RDB持久化只会保存最后一次的操作,而AOF会保存所有的操作。它的量级会比RDB持久化日志更大,类似于mysql的binglog

redis AOF持久化配置

重要配置:
appendonly yes #是否打开持久化功能
appendfsync always #是否开启持久化条件 always[每次修改都持久化] everysec[每秒持久化一次] 一般设置everysec 注意: redis集群中,这个功能必须要开启。
配置文件:
daemonize yes
port 6379
logfile /nosql/redis/6379/redis.log
dir /nosql/redis/6379
dbfilename dump.rdb
#protected-mode no
bind 10.0.0.63
requirepass 123
save 900 1
save 300 10
save 60 10000 appendonly yes
appendfsync everysec

面试技巧:

redis的持久化方式有哪些,有什么区别?
redis有两种持久化方式,分别是 RDB持久化 AOF持久化
RDB持久化是以操作次数作为条件保存数据的他是基于快照进行持久化的,速度更快,主从复制也依赖该功能[速度快]
AOF持久化是指定每次修改追加方式进行数据持久化操作。可以最大程度保证redis数据安全 [更安全]

redis数据类型:

string: 字符类型
Hash: 字典类型
List: 列表
set: 集合
Sorted set: 有序集合

redis RDB AOF数据持久化的更多相关文章

  1. Redis进阶:数据持久化,安全,在PHP中使用

    一.redis数据持久化 由于redis是一个内存数据库,如果系统遇到致命问题需要关机或重启,内存中的数据就会丢失,这是生产环境所不能允许的.所以redis提供了数据持久化的能力. redis提供了两 ...

  2. Redis 中的数据持久化策略(RDB)

    Redis 是一个内存数据库,所有的数据都直接保存在内存中,那么,一旦 Redis 进程异常退出,或服务器本身异常宕机,我们存储在 Redis 中的数据就凭空消失,再也找不到了. Redis 作为一个 ...

  3. Redis 中的数据持久化策略(AOF)

    上一篇文章,我们讲的是 Redis 的一种基于内存快照的持久化存储策略 RDB,本质上他就是让 redis fork 出一个子进程遍历我们所有数据库中的字典,进行磁盘文件的写入. 但其实这种方式是有缺 ...

  4. redis rdb aof比较

    Redis中数据存储模式有2种:cache-only,persistence; cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一 ...

  5. [Redis] RDB & AOF

    http://my.oschina.net/davehe/blog/174662 rdb - 存在dump.rdb 的二进制文件中 dump 整个db, 数据多的时候,不合适频繁保存,保存的时间间隔应 ...

  6. 12 redis之aof日志持久化

    Aof 的配置 appendonly no # 是否打开 aof日志功能 appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢 appendfsync everys ...

  7. Redis数据持久化机制AOF原理分析一---转

    http://blog.csdn.net/acceptedxukai/article/details/18136903 http://blog.csdn.net/acceptedxukai/artic ...

  8. 详解Redis RDB持久化、AOF持久化

    1.持久化 1.1 持久化简介 持久化(Persistence),持久化是将程序数据在持久状态和瞬时状态间转换的机制,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘). 1.2 red ...

  9. 《面试官之你说我听》:简明的图解Redis RDB持久化、AOF持久化

    欢迎关注文章这一系列,一起学习 <提升能力,涨薪可待篇> <面试知识,工作可待篇> <实战演练,拒绝996篇> 如果此文对你有帮助.喜欢的话,那就点个赞呗,点个关注 ...

  10. Redis持久化rdb&aof

    Redis持久化rdb&aof 前言 持久化:即把数据存储于断电后不会丢失的设备中,通常是硬盘 常见的持久化方式: 主从:通过从服务器保持持久化,如mongoDB的replication se ...

随机推荐

  1. CS101

    Turing machine:图灵机 理论上可以计算任何东西 CPU(Center Process Unit):中央处理器 是现代电脑的"大脑",其中包含数十亿细小开关的硅片,即晶 ...

  2. Java+HTML预习笔记_20140610

    1.HTML <img> 标签 HTML <img> 标签 实例 在下面的例子中,我们在页面中插入一幅 W3School 的工程师在上海鲜花港拍摄的郁金香照片: <img ...

  3. 对中间件概念的理解,如何封装 node 中间件

    一.是什么 中间件(Middleware)是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享.功能共享的目的 在 ...

  4. Linq大白话深入浅出从零基础到手写开源工具兵贵神速系列(一)——为啥需要Linq

    所有的技术创新都是为了解决编程实践中的难点和痛点! 如果我们不懂得这项技术所要解决的难点和痛点,我们在使用这项技术的时候就很可能走偏,在细节末节上隔靴搔痒,耗费很长的时间还掌握不了这项技术的精髓! 而 ...

  5. 为什么我要迁移 SpringBoot 到函数计算

    简介: 面对流量洪峰,我们再也不会手忙脚乱了,函数计算自动会帮我们扩容!很好的解决了我们的 API 场景和不定时执行各种不同任务的场景. 作者:榴莲   为什么要迁移? 我们的业务有很多对外提供服务的 ...

  6. 基于信通院 Serverless 工具链模型的实践:Serverless Devs

    简介: Serverless Devs 作为开源开放的开发者工具,参编中国信通院<基于无服务器架构的工具链能力要求>标准,为行业统一规范发挥助推作用!​ 作者 | 江昱(阿里云 Serve ...

  7. 如何落地云原生DevOps?

    简介: 什么是云原生DevOps?在阿里内部有怎样的实践?企业又该如何落地?阿里云云效专家团队提出了下一代精益产品开发方法体系--ALPD,提供了系统的云原生DevOps落地的方法支撑,帮助企业渐进式 ...

  8. [Cryptocurrency] (XMR) Monero GUI 连接远程节点 操作方式

    Monero 官网下载的钱包,在 高级设置 的节点里支持 "本地节点" 和 "远程节点". 本地节点就是同步区块链数据到本地电脑,安全性高,占用空间大. 远程节 ...

  9. Modelsim使用指南

    Modelsim使用指南 本文讲述Modelsim的使用步骤. 添加一个测试文件,比如modulename.v. 编辑这个Verilog模块. 为了方便讲述,顶层模块名命名为"top&quo ...

  10. python3使用dpkt生成PCMA格式rtp流

    操作系统 :CentOS 7.6_x64 Python版本:3.9.12 dpkt版本:1.9.8 PCMA编码是VoIP通信中常见的格式,今天整理下CentOS7环境下,python3如何使用dpk ...