服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Redis - Redis实现持久化的方式汇总

Redis实现持久化的方式汇总

2022-11-25 16:20Lincee Redis

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。今天我们就来看看如何实现Redis持久化,需要的朋友可以参考下

Redis有3种实现持久化的方式:AOF日志、RDB快照、混合持久化

Redis写入AOF日志的过程

Redis执行完写操作命令后,将命令追加到server.aof_buf缓冲区
通过write()系统调用,将aof_buf缓冲区的数据写入到AOF文件
数据被拷贝到了内核缓冲区page cache
由内核决定何时将数据写入硬盘

Redis实现RDB快照

生成 RDB 文件的两个命令:save 和 bgsave

执行save命令会在主线程生成RDB文件,执行bgsave命令会创建一个子进程来生成RDB文件

执行bgsave命令时,会通过fork()创建子进程,子进程和父进程共享同一片内存数据。因为创建子进程的时候,子进程复制父进程的页表,但页表指向的物理内存还是一个。如果主线程执行读操作,则主线程和 bgsave 进程互不影响;如果主线程执行写操作,则被修改的数据会复制一份副本,然后 bgsave 子进程会把该副本数据写入 RDB 文件,在这个过程中,主线程仍然可以直接修改原来的数据

混合持久化

在AOF日志重写过程,当开启了混合持久化时,在AOF重写日志时,fork出来的重写子进程会先将与主线程共享的内存数据以RDB方式写到AOF文件,然后主线程处理的操作命令会被记录在重写缓冲区,重写缓冲区里的增量命令会以AOF方式写入到AOF文件,写入完成后通知主进程将含有的RDB格式和AOF格式的AOF文件替换旧版。

到此这篇关于Redis实现持久化的方式汇总的文章就介绍到这了,更多相关Redis实现持久化内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/Salinger/archive/2022/10/12/16784267.html

延伸 · 阅读

精彩推荐
  • RedisRedis的配置、启动、操作和关闭方法

    Redis的配置、启动、操作和关闭方法

    今天小编就为大家分享一篇Redis的配置、启动、操作和关闭方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    大道化简5092019-11-14
  • RedisWindows下安装Redis的流程详解

    Windows下安装Redis的流程详解

    Redis作为常用开源的非关系型数据库,是开发中常用的数据库之一,很多朋友不清楚Windows下安装Redis的过程,今天小编通过分享本文给大家介绍详细过程,...

    追到乌云的尽头找太阳3592021-09-14
  • Redis动态添加Redis密码认证的方法

    动态添加Redis密码认证的方法

    本篇文章主要介绍了动态添加Redis密码认证的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    程序员赵鑫4012019-11-06
  • Redis基于redis实现的点赞功能设计思路详解

    基于redis实现的点赞功能设计思路详解

    点赞是我们现在经常见到的一个效果,如朋友圈、微博都有点赞的效果,下面这篇文章主要跟大家分享了基于redis实现的点赞功能设计思路的相关资料,文...

    Furion5842019-11-05
  • Redis基于Redis实现分布式锁以及任务队列

    基于Redis实现分布式锁以及任务队列

    这篇文章主要介绍了基于Redis实现分布式锁以及任务队列,需要的朋友可以参考下 ...

    __kelly_3392019-10-27
  • RedisRedis安装启动及常见数据类型

    Redis安装启动及常见数据类型

    这篇文章主要介绍了Redis安装启动及常见数据类型,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    DOONDO10832021-08-01
  • RedisWindows下Redis安装配置教程

    Windows下Redis安装配置教程

    这篇文章主要为大家详细介绍了Windows下Redis安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    阿文在杭州9942019-10-31
  • RedisRedis字符串对象实用笔记

    Redis字符串对象实用笔记

    这篇文章主要给大家介绍了关于Redis字符串对象的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis具有一定的参考学习价值,需要的...

    Yuicon3862019-11-23