美文网首页程序员读书简友广场
实时数据库Redis两种持久化方式RDB和AOF原理分析

实时数据库Redis两种持久化方式RDB和AOF原理分析

作者: 皮皮杂谈 | 来源:发表于2019-05-17 01:46 被阅读44次

Redis是一个基于Key-Value的高速缓存系统,类似于memcached,但是支持更复杂的数据结构List、Set、Sorted Set,并且有持久化的功能。支持在服务器端计算集合的并、交和补集等,还支持多种排序功能,也可以被看成是一个数据结构服务器。由于Redis支持持久化的内存数据库,也就是说需要经常将内存中的数据同步到磁盘来保证持久化,以保证不会因为断电等因素丢失数据。同时,它支持两种持久化方式,一种是Snap-shotting(RDB),也是默认方式;另一种是Append-only file(AOF)的方式。如下图所示:

持久化方式

RDB方式是将内存中的数据以快照的方式写入二进制文件中,默认的文件名为dump.rdb。可以通过配置自动快照持久化的方式,配置Redis在n秒内如果超过m个key被修改就自动做快照保存。由于快照方式是在一定间隔时间内做一次的,所以一旦Redis出现问题,那么我们的RDB文件中保存的数据并不是全新的,从最后一次RDB文件生成到Redis停机这段时间的数据全部丢失掉了。

AOF方式比RDB方式有更好的持久化机制。由于在使用AOF持久化时,Redis会将每一个收到的写命令都通过write函数追加到文件中,类似于MySQL的binlog。当Redis重启时会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容。当然由于OS会在内核中缓存write做的修改,所以可能不是立即写到磁盘上。这样AOF方式的持久化也还是有可能会丢失部分修改。

相关文章

  • redis持久化机制

    redis持久化机制的原理 一、两种实现redis持久化的机制,RDB模式和AOF模式 ①RDB模式 ②AOF模式...

  • Redis持久化

    Redis持久化方式有两种:RDB和AOF。 1 RDB持久化 RDB(Redis Database)持久化是把当...

  • Redis持久化存储(AOF与RDB两种模式)

    redis的持久化——RDB和AOF。redis有两种方式支持持久化,分别是RDB和AOF。RDBRDB即redi...

  • redis-2

    redis-2 redis的持久化 Redis 提供了 RDB 和 AOF 两种持久化方式。 RDB RDB 是把...

  • Redis深度历险-AOF持久化

    Redis深度历险-AOF持久化 Redis提供两种持久化方式AOF和RDB,RDB是快照形式持久化全量数据、AO...

  • 2020-02-21 记录redis(8)

    redis持久化,两种持久化方式: RDB方式 AOF方式 持久化的使用方式: RDB 优势: 1、redis的数...

  • Redis从入门到精通5:Redis的持久化

    本节来介绍Redis的持久化。 Redis支持两种方式持久化:RDB和AOF。默认开启RDB,而禁用AOF。 1....

  • Redis持久化(三)

    Redis持久化方式 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件): RDB持久化方...

  • Redis持久化

    Redis的持久化 Redis的持久化方式有两种:快照(RDB)文件和追加文件(AOF文件) 两种方式。 RDB ...

  • Redis持久化是如何做的?RDB和AOF对比分析

    redis持久化2种方式 Redis持久化有 RDB 和 AOF两种方式 一、redis持久化----两种方式1...

网友评论

    本文标题:实时数据库Redis两种持久化方式RDB和AOF原理分析

    本文链接:https://www.haomeiwen.com/subject/hfpgaqtx.html