首页 > 数据库 >Redis 持久化 RDB

Redis 持久化 RDB

时间:2022-12-02 13:33:41浏览次数:37  
标签:fork 触发 持久 bgsave Redis RDB

RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持 久化过程分为手动触发和自动触发。

手动触发分别对应save和bgsave命令:

  • ·save命令:阻塞当前Redis服务器,线上环境不建议使用
  • ·bgsave命令:Redis进程执行fork操作创建子进程,RDB持久化过程由子 进程负责,完成后自动结束。阻塞只发生在fork阶段

 

 

通 过info stats命令查看latest_fork_usec选项,可以获取最近一个fork操作的耗 时,单位为微秒。

RDB的优点:

·RDB是一个紧凑压缩的二进制文件,代表Redis在某个时间点上的数据 快照。非常适用于备份,全量复制等场景。比如每6小时执行bgsave备份, 并把RDB文件拷贝到远程机器或者文件系统中(如hdfs),用于灾难恢复。

·Redis加载RDB恢复数据远远快于AOF的方式。

RDB的缺点:

·RDB方式数据没办法做到实时持久化/秒级持久化。因为bgsave每次运 行都要执行fork操作创建子进程,属于重量级操作,频繁执行成本过高。

·RDB文件使用特定二进制格式保存,Redis版本演进过程中有多个格式 的RDB版本,存在老版本Redis服务无法兼容新版RDB格式的问题。

针对RDB不适合实时持久化的问题,Redis提供了AOF持久化方式来解 决。

 

标签:fork,触发,持久,bgsave,Redis,RDB
From: https://www.cnblogs.com/ZGXF/p/16944181.html

相关文章

  • Windows下Redis安装与配置的两种方式
    原文链接:https://blog.csdn.net/HQqHQhqqhq/article/details/127903697安装和配置RedisRedis的安装有两种安装形式,一种是安装包式,另一种是压缩包注意:windows没有32位的,所......
  • (收藏)Java中使用Jedis操作Redis
    使用Java操作Redis需要jedis-2.1.0.jar如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jarpackagecom.test;importjava.util.HashMap;import......
  • Redis中的单线程多路复用的一个通俗解析
    在尚学堂的课程中,有个不错的单线程多路复用的通俗解析,觉得不错:其实就是黄牛买票,黄牛是单线程了,但他能服务很多买票的人,买票的人也不需要去等待的 ......
  • Redis缓存雪崩
    缓存处理流程接收到查询数据请求时,优先从缓存中查询,若缓存中有数据,则直接返回,若缓存中查不到则从DB中查询,将查询的结果更新到缓存中,并返回查询结果,若DB中查不到,则返回空数据......
  • 基于Redis的Stream结构作为消息队列,实现异步秒杀下单
    需求:创建一个Stream类型的消息队列,名为stream.orders修改之前的秒杀下单Lua脚本,在认定有抢购资格后,直接向stream.orders中添加消息,内容包含voucherId、userId、order......
  • Redis消息队列
    什么是消息队列:字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色:消息队列:存储和管理消息,也被称为消息代理(MessageBroker)生产者:发送消息到消息队列......
  • SpringCloud (五) - 云服务器Centos7.6,安装JDK,Maven,Mysql,Redis
    1、购买云服务器购买地址:https://cloud.tencent.com/act/pro/2022double11_warmup后面的环境都是基于此环境Centos7.6;2、安装SecureCRT和SecureFX2.1SecureCRT教......
  • 面试题系列:Redis 夺命连环11问
      1.说说Redis基本数据类型有哪些吧 1.字符串:redis没有直接使用C语言传统的字符串表示,而是自己实现的叫做简单动态字符串SDS的抽象类型。C语言的字符串不记录自......
  • Redis 集群
    Redis集群作用容量不够,redis如何进行扩容并发写操作,redis如何分摊都可使用集群解决。介绍Redis集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分......
  • SpringBoot(七) - Redis 缓存
    1、五大基本数据类型和操作1.1字符串-string命令说明setkeyvalue如果key还没有,那就可以添加,如果key已经存在了,那会覆盖原有key的值getkey如果key还没有,......