iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >redis中持久化的优缺点是什么
  • 190
分享到

redis中持久化的优缺点是什么

2024-04-02 19:04:59 190人浏览 安东尼
摘要

这篇文章给大家分享的是有关Redis中持久化的优缺点是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。Redis是一种高级key-value数据库。它跟memcached类似,

这篇文章给大家分享的是有关Redis中持久化的优缺点是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。

Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。

redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。

那么这两种持久化方式有什么区别呢,改如何选择呢?

RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

二者优缺点

RDB存在哪些优势呢?

1). 一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的。比如,你可能打算每个小时归档一次最近24小时的数据,同时还要每天归档一次最近30天的数据。通过这样的备份策略,一旦系统出现灾难性故障,我们可以非常容易的进行恢复。

2). 对于灾难恢复而言,RDB是非常不错的选择。因为我们可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。

3). 性能最大化。对于Redis的服务进程而言,在开始持久化时,它唯一需要做的只是fork出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行io操作了。

4). 相比于AOF机制,如果数据集很大,RDB的启动效率会更高。

RDB又存在哪些劣势呢?

1). 如果你想保证数据的高可用性,即最大限度的避免数据丢失,那么RDB将不是一个很好的选择。因为系统一旦在定时持久化之前出现宕机现象,此前没有来得及写入磁盘的数据都将丢失。

2). 由于RDB是通过fork子进程来协助完成数据持久化工作的,因此,如果当数据集较大时,可能会导致整个服务器停止服务几百毫秒,甚至是1秒钟。

AOF的优势有哪些呢?

1). 该机制可以带来更高的数据安全性,即数据持久性。Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步。事实上,每秒同步也是异步完成的,其效率也是非常高的,所差的是一旦系统出现宕机现象,那么这一秒钟之内修改的数据将会丢失。而每修改同步,我们可以将其视为同步持久化,即每次发生的数据变化都会被立即记录到磁盘中。可以预见,这种方式在效率上是最低的。至于无同步,无需多言,我想大家都能正确的理解它。

2). 由于该机制对日志文件的写入操作采用的是append模式,因此在写入过程中即使出现宕机现象,也不会破坏日志文件中已经存在的内容。然而如果我们本次操作只是写入了一半数据就出现了系统崩溃问题,不用担心,在Redis下一次启动之前,我们可以通过redis-check-aof工具来帮助我们解决数据一致性的问题。

3). 如果日志过大,Redis可以自动启用rewrite机制。即Redis以append模式不断的将修改数据写入到老的磁盘文件中,同时Redis还会创建一个新的文件用于记录此期间有哪些修改命令被执行。因此在进行rewrite切换时可以更好的保证数据安全性。

4). AOF包含一个格式清晰、易于理解的日志文件用于记录所有的修改操作。事实上,我们也可以通过该文件完成数据的重建。

AOF的劣势有哪些呢?

1). 对于相同数量的数据集而言,AOF文件通常要大于RDB文件。RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。

2). 根据同步策略的不同,AOF在运行效率上往往会慢于RDB。总之,每秒同步策略的效率是比较高的,同步禁用策略的效率和RDB一样高效。

二者选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(rdb)。rdb这个就更有些 eventually consistent的意思了。

感谢各位的阅读!关于redis中持久化的优缺点是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: redis中持久化的优缺点是什么

本文链接: https://www.lsjlt.com/news/53384.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis中持久化的优缺点是什么
    这篇文章给大家分享的是有关redis中持久化的优缺点是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。Redis是一种高级key-value数据库。它跟memcached类似,...
    99+
    2022-10-18
  • redis中RDB和AOF持久化的优缺点是什么
    小编给大家分享一下redis中RDB和AOF持久化的优缺点是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Redis 提供了 RDB 和 AOF 两种持久化方案:RDB:生成指定时间间...
    99+
    2022-10-19
  • redis两种持久化方式的优缺点是什么
    这篇文章给大家分享的是有关redis两种持久化方式的优缺点是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 redis两种持久化的方式RDB持久化...
    99+
    2022-10-19
  • Redis持久化的运行机制和优缺点是什么
    Redis持久化的运行机制和优缺点是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言大家都知道Redis一个内存数据库,...
    99+
    2022-10-19
  • redis的两种持久化方式有什么缺点?
    这篇文章主要为大家详细介绍了redis的两种持久化方式的缺点,图文详解容易学习,配合代码阅读理解效果更佳,感兴趣的小伙伴们可以参考一下。一、RDB持久化模式缺陷1、问题描述:并发200路,模拟不断写Redi...
    99+
    2022-10-18
  • Redis持久化的两种方式的优缺点介绍
    Redis 提供了不同级别的持久化方式: RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AO...
    99+
    2022-10-18
  • Redis中RDB和AOF持久化模式缺陷是什么
    这篇文章主要介绍了Redis中RDB和AOF持久化模式缺陷是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、RDB持久化模式缺陷1、问...
    99+
    2022-10-18
  • redis中的AOF持久化是什么
    redis中的AOF持久化是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。AOF持久化它也是Redis持久化的重要手段之一...
    99+
    2022-10-18
  • redis的RDB持久化是什么
    Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。这...
    99+
    2022-10-18
  • redis中的快照持久化是什么
    redis中的快照持久化是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis为了内部数据的安全考虑,会把本身的数据以文件形式保存...
    99+
    2022-10-18
  • Redis中持久化原理是什么
    这篇文章将为大家详细讲解有关Redis中持久化原理是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis持久化机制:## 写在前面本文从整体上详细介绍Redis的...
    99+
    2022-10-19
  • Redis持久化的方法是什么
    本篇内容主要讲解“Redis持久化的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis持久化的方法是什么”吧!RDB持久化Redis支持RDB与...
    99+
    2022-10-18
  • redis持久化存储是什么
    这篇文章主要介绍redis持久化存储是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redis概述 REmote DIctionary Server(Redis)是一个基于key...
    99+
    2022-10-18
  • Redis持久化是什么意思
    这篇文章给大家分享的是有关Redis持久化是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。演示环境centos7.0 redis4.0 redis存放目录:/usr/lo...
    99+
    2022-10-18
  • Redis持久化策略是什么
    本篇内容介绍了“Redis持久化策略是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Redis(Rem...
    99+
    2022-11-30
    redis
  • redis中RDB和AOP持久化是什么
    小编给大家分享一下redis中RDB和AOP持久化是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!redis是一个内存数据库...
    99+
    2022-10-18
  • Redis中的两种持久化方式是什么
    本篇内容主要讲解“Redis中的两种持久化方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的两种持久化方式是什么”吧!Redis的两种持久化...
    99+
    2022-10-18
  • Redis持久化的底层原理是什么
    Redis持久化的底层原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RDB(默认)RDB是通过快照方式完成的,当满足一定条件时,...
    99+
    2022-10-18
  • Redis数据持久化的概念是什么
    这篇文章主要讲解了“Redis数据持久化的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis数据持久化的概念是什么”吧!目录一、数据持久化的概述RDB持久化开启AOF二 .R...
    99+
    2023-06-20
  • redis持久化机制是什么意思
    redis持久化机制有两种方式:RDB和AOF。RDB指的是用数据集快照的方式半持久化模式记录 redis数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。AOF指的是所...
    99+
    2022-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作