redis持久化【入门】,RDB和AOF之间的区别

redis概述

Redis 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50 个并发执行 10 万个请求,读的速度是 11 万次/s,写的速度是 8 万次/s ,MySQL 在 1000 次/s

redis支持的键值数据类型

  1. 字符串类型 string
  2. 散列类型 hash
  3. 列表类型 list
  4. 集合类型 set
  5. 有序集合类型 zset

 

redis的持久化

Redis 的高性能是由于其将所有数据都存储在了内存中。为了使 Redis 在重启之后仍能保证数据不丢失,需 要将数据从内存中同步到硬盘中,这一过程就是持久化。

  1. RDB 持久化(Redis DataBase)
    1. 默认的方式,在指定的时间间隔内将内存中的数据快照写入磁盘
  2. AOF 持久化(Append Only File)
    1. 该机制将以日志的形式记录服务器的每一个写操作,在 Redis 服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。

使用上面一种或将二者结合使用的持久化方式,也可以禁用 Redis 服务器的持久化功能,这样我们就可以将 Redis 视为一个数据库缓存。

 

RDB持久化机制

优点

  1. 方便备份与恢复
    1. 整个 Redis 数据库将只包含一个文件,默认是 dump.rdb,这对于文件备份和恢复而言是非常完美的。因为我 们可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。一旦系统出现灾难性故障,我们可以非常 容易的进行恢复。
  2. 性能最大化
    1. 对于 Redis 的服务进程而言,在开始持久化时,它唯一需要做的只是分叉出子进程,由子进程完成这些持久 化的工作,这样就可以极大的避免服务进程执行 IO 操作了
  3. 启动效率更高
    1. 相比于 AOF 机制,如果数据集很大,RDB 的启动效率会更高

缺点

  1. 不能完全避免数据丢失
    1. 因为 RDB 是每隔一段时间写入数据,所以系统一旦在定时持久化之前出现宕机现象,此前没有来得及写入磁 盘的数据都将丢失。
  2. 会导致服务器暂停的现象
    1. 由于 RDB 是通过子进程来协助完成数据持久化工作的,因此当数据集较大时,可能会导致整个服务器停止服务几百毫秒,甚至是 1 秒钟。一般在夜深人静的时候持久化会比较好。

RDB持久化的配置

标题

 

 

 

AOF持久化机制

AOF 包含一个格式清晰、易于理解的日志文件用于记录所有的修改操作。也可以通过该文件完成数据的重 建。该机制可以带来更高的数据安全性,即数据持久性。Redis 中提供了 3 中同步策略:每秒同步、每修改同步、不同步。

优点

  1. 每秒同步:
    1. 异步完成的,其效率也是非常高的,所差的是一旦系统出现宕机现象,那么这一秒钟之内修改的 数据将会丢失
  2. 每修改同步
    1. 即每次发生的数据变化都会被立即记录到磁盘中。这种方式在效率上是最低的。 3) 不同步:性能最高,不写入到文件中

缺点

  1. 文件比 RDB 更大
    1. 对于相同数量的数据集而言,AOF 文件通常要大于 RDB 文件
  2. 运行效率比 RDB 更慢(文件越大,数据恢复越慢)
    1. 根据同步策略的不同,AOF 在运行效率上往往会慢于 RDB。

AOF持久化的配置

标题

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RDBRedis Database)和AOF(Append-Only File)是Redis中两种常见的持久化方式,它们有以下区别: 1. RDB持久化RDB是将Redis数据库在某个时间点的数据快照保存到硬盘上的一种方式。它通过fork一个子进程来完成持久化操作,首先将数据写入一个临时文件,然后用这个临时文件替换上一个RDB文件,从而实现数据的持久化RDB方式适合用于备份、灾难恢复和数据库迁移等场景。 2. AOF持久化AOF是通过将Redis的写命令追加到文件的末尾来记录数据库的操作。Redis重启时,通过重新执行AOF文件中的命令来恢复数据库状态。相比于RDB方式,AOF可以提供更高的数据安全性,因为它记录了每个写操作的历史,可以保证在Redis异常退出或宕机时不丢失数据。AOF方式适合用于数据持久化和实时备份等场景。 3. RDB的优点:RDB方式对于数据恢复速度较快,在大规模数据恢复时比AOF更高效。由于RDB是一个紧凑的二进制文件,相对于AOF文件来说更小,可以节省存储空间。此外,RDB方式对Redis的性能影响较小。 4. AOF的优点:AOF方式可以提供更高的数据安全性,因为它记录了每个写操作的历史,可以保证在Redis异常退出或宕机时不丢失数据。AOF文件是一个文本文件,易于理解和修改。 总结来说,RDB方式适合于备份和灾难恢复,而AOF方式适合于数据持久化和实时备份。在选择持久化方式时,需要根据实际需求进行权衡和选择。另外,也可以同时使用RDBAOF两种方式,以提供更好的数据安全性和灾难恢复能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值