立即前往

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
查看全部活动
热门活动
  • 智算采购季 热销S6云服务器2核4G限时88元/年起,部分主机可加赠对象存储组合包!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 一键部署Llama3大模型学习机 0代码一键部署,预装最新主流大模型Llama3与StableDiffusion
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 产品能力
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
    • 关系数据库SQL Server版
    • 企业主机安全
    • 云防火墙
    • CDN加速
    • 物理机
    • GPU云主机
    • 天翼云电脑(政企版)
    • 天翼云电脑(公众版)
    • 云主机备份
    • 弹性云主机
      搜索发现
      关系数据库SQL Server版企业主机安全云防火墙CDN加速物理机GPU云主机天翼云电脑(政企版)天翼云电脑(公众版)云主机备份弹性云主机
    • 文档
    • 控制中心
    • 备案
    • 管理中心
    • 登录
    • 免费注册

    Redis 宕机恢复,不丢数据秘诀是什么?

    首页 知识中心 大数据 文章详情页

    Redis 宕机恢复,不丢数据秘诀是什么?

    2024-03-26 08:11:30 阅读次数:210

    AOF,RDB,Redis

    3.1 宕机恢复,不丢数据稳如山

    我是一个基于内存的数据库,名字叫 Redis。我对数据读写操作的速度快到令人发指,很多程序员把我当做缓存使用系统,用于提高系统读取响应性能。

    然而,快是需要付出代价的:内存无法持久化,一旦断电或者宕机,我保存在内存中的数据将全部丢失。

    此时此刻,MySQL 失去了我这道高性能缓存大佬支撑,大量流量会打到 MySQL, 可能带来更严重的问题。

    MySQL:“你赶紧重启从我这里获取恢复数据呀。”

    Redis:“不行呀,如果是大量数据需要恢复,会给你造成更大的压力。“

    MySQL:“那怎么办?”

    Redis:“别怕,我有两大杀手锏,实现了数据持久化,做到宕机快速恢复,不丢数据稳如狗,避免从数据库中慢慢恢复数据,他们分别是 RDB 快照和 AOF(Append Only File)。“

    MySQL 说道:“别墨迹,赶紧开搞吧,我快扛不住了。”

    3.1.1 RDB 快照

    数据存储在内存中,我把内存中的数据写到磁盘上就实现了持久化,当重启的时候就把保存在磁盘的快照数据加载快速恢复到内存中,这样就能实现重启后正常提供服务。

    MySQL:“我有一个建议,每次执行写指令操作内存的同时写到磁盘。”

    “你的建议很好,下次不要再建议了。

    这个方案有个致命问题:每次写指令不仅写内存还写磁盘,磁盘的性能相对内存而言太慢,会导致我的性能大大降低,让我快不起来了。”

    MySQL:那你如何规避这个问题呢?

    程序员通常把我当做缓存使用,一致性要求没那么高,我不需要把你所有的数据都保存下来,数据持久化使用了RDB 内存快照的方式来实现宕机快速恢复。

    我在快速执行大量写指令过程中,内存数据会一直变化。持久化的数据并不需要时刻与内存中数据一致,RDB 内存快照,指的就是 Redis 内存中的某一刻的数据。

    好比时间定格在某一刻,当我们拍照时,把某一刻的瞬间画面定格记录下来。

    我跟这个类似,就是把某一刻的数据以文件的形式「拍」下来,写到磁盘上。这个文件叫做 RDB 文件,是 Redis Database 的缩写。

    我只需要定时执行 RDB 内存快照,就不必每次执行写指令都写磁盘,既实现了快,还实现了持久化。

    Redis 宕机恢复,不丢数据秘诀是什么?

    图3-1

    当在进行宕机后重启数据恢复时,直接将磁盘的 RDB 文件读入内存即可。

    1. RDB 生成策略

    MySQL:”什么时候触发生成 RDB 快照呢?“

    我用的是单线程模型执行读写指令,所以需要尽可能避免阻塞 RDB 文件生成阻塞主线程,先看看有哪些情况会触发 RDB 快照持久化操作。

    有两种情况会触发 RDB 持久化。

    • 手动触发:执行 save 或bgsave命令。
    • 自动触发:一共有四种情况会自动触发执行 bgsave命令生成 RDB 文件,后文细说。
    手动触发

    我提供了两个指令用于手动生成 RDB 文件。

    • save:主线程执行,会阻塞。
    • bgsave:调用 glibc 的函数fork产生一个子进程用于写入临时 RDB 文件,快照持久化完全交给子进程来处理,完成后自动结束,父进程可以继续处理客户端请求,阻塞只发生在 fork 阶段,时间很短,生成 RDB 文件的默认配置使用的就是该指令。当子进程写完新的 RDB 文件后,它会替换旧的 RDB 文件。
    自动触发

    程序员总不能半夜起来时不时去手动执行命令生成 RDB,为了让他们安稳的过夜生活,我会在以下 4 种情况自动触发执行 bgsave生成 RDB 文件:

    • redis.conf 中配置save m n ,在 m 秒内至少有 n 个 key 更改,自动触发 bgsave 生成 RDB 文件;
    • 主从复制,从节点需要从主节点进行全量复制时会触发 bgsave 操作,把生成的 RDB 文件发送给从节点;
    • 执行 debug reload命令重新加载 Redis 会触发 bgsave 执行;
    • 默认情况下执行 shutsown 命令,如果没有开启 AOF 持久化,我也会触发 bgsave操作。

    如果配置成save "",则表示关闭 RDB 快照功能。聪明的程序员可根据实际请求压力调整快照周期执行策略。

    其他配置

    我还提供了其他用于控制生成 RDB 文件的配置。

    # 文件名称
    dbfilename dump.rdb
    # 文件保存路径
    dir /opt/app/redis/data/
    # 如果持久化出错,主进程是否停止写入
    stop-writes-on-bgsave-error yes
    # 是否压缩
    rdbcompression yes
    # 导入时是否检查
    rdbchecksum yes
    
    

    stop-writes-on-bgsave-error

    上边我提到在执行快照生成的过程中,主线程依然可以接收客户端的写指令,是在快照操作正常情况下。

    如果生成快照期间出现异常,比如操作系统权限不够,磁盘已满。该配置配置成 yes,我就会禁止执行写操作。

    反之,出现快照错误也允许执行写操作。

    rdbcompression

    启用 LZF 压缩算法对字符串类型的数据进行压缩生成 RDB 快照文件,则设置成 yes。

    rdbchecksum

    从 Redis 5.0 开始,在 RDB 的末尾会有一个 64 位的 CRC 荣誉校验码,用于验证整个 RDB 文件的完整性。这个功能大概会损失 10% 左右的性能,但是能获得更高的数据可靠性,追求我极致性能的程序员可将这个配置成 no。

    2. 写时复制

    MySQL:“实际生产环境中,程序员通常给你配置 6GB 的内存,将这么大的内存数据生成 RDB 快照文件落到磁盘的过程会持续比较长的时间。

    你如何做到继续处理「写」指令请求,又保证 RDB 与内存中的数据的一致性呢?”

    作为唯快不破的 NoSQL 数据库扛把子,我在对内存数据做快照的时候,并不会暂停写操作(读操作不会造成数据的不一致)。

    我使用了操作系统的多进程写时复制技术 COW(Copy On Write) 来实现快照持久化。

    在持久化时我会调用 glibc 的函数fork产生一个子进程,快照持久化完全交给子进程来处理,主进程继续处理客户端请求。

    子进程刚刚产生时,它和父进程共享内存里面的代码段和数据段,你可以将父子进程想像成一个连体婴儿,共享身体。

    这是 Linux 操作系统的机制,为了节约内存资源,所以尽可能让它们共享起来。在进程分离的一瞬间,内存的增长几乎没有明显变化。

    bgsave 子进程可以共享主线程的所有内存数据,就能读取主线程的数据并写入 RDB 文件。

    如果主线程对这些数据是读操作,那么主线程和 bgsave子进程互不影响。

    当主线程要修改某个键值对时,这个数据会把发生变化的数据复制一份,生成副本。

    接着,bgsave 子进程会把这个副本数据写到 RDB 文件,从而保证了数据一致性。

    Redis 宕机恢复,不丢数据秘诀是什么?

    图3-2

    MySQL:“在执行快照期间,你崩溃了怎么办?”

    数据没有全部写到磁盘中,这次快照操作就不算成功,崩溃恢复的时候只能将上次一完整的 RDB 快照文件作为恢复文件。

    MySQL:“那我建议你每秒执行一次快照,这样宕机最多丢失一秒的数据。”

    你的建议很好,下次真的不要再建议了。

    这个方法是错误的,bgsave 执行时不阻塞主线程,但是,如果频繁地执行全量快照,也会带来两方面的开销:

    • 频繁生成 RDB 文件写入磁盘,磁盘压力过大。会出现上一个 RDB 还未执行完,下一个又开始生成的情况,陷入死循环。
    • bgsave子进程通过主线程 fork出来的,虽然创建后不会阻塞主线程,但是 fork 本身会阻塞主线程。内存越大,阻塞时间越长,导致频繁阻塞主线程。

    3. 优缺点

    • 优点
      • RDB 采用二进制 + 数据压缩的方式写磁盘,文件体积远小于内存大小,适用于备份和全量复制。
      • RDB 加载恢复数据速度远远快于 AOF 文件。
    • 缺点
      • 实时性不够,无法做到秒级持久化。
      • 调用 bgsave需要 fork 子进程,子进程属于重量级操作,频繁操作执行成本高。

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

    3.1.2 AOF

    AOF (Append Only File)持久化记录的是服务器接受的每个写操作,在服务器启动重放的时候还原数据集。

    AOF 采用的是写后日志模式,即先写内存,后写日志。

    Redis 宕机恢复,不丢数据秘诀是什么?

    ​ 图 3-3

    还有一个叫做写前日志(Write Ahead Log)相反方式: 在实际写数据之前,将修改的数据写到日志文件中,故障恢复得以保证。

    例如 MySQL Innodb 存储引擎 中的 redo log(重做日志)便是记录修改的数据日志,在实际修改数据前先记录修改日志,再执行修改数据。

    在默认情况,我并不会开启 AOF,程序员可以通过配置 redis.conf 文件来开启 AOF 持久化。

    # yes 开启AOF持久化,默认是 no
    appendonly yes
    
    # AOF持久化的文件名,默认是appendonly.aof
    appendfilename "appendonly.aof"
    
    # AOF文件的保存位置和RDB文件的位置相同,都是通过dir参数设置的
    dir ./
    
    

    1.日志格式

    当我接受到 「set key MageByte」命令将数据写到内存后, 会按照如下格式写入 AOF 文件。

    • 「*3」:表示当前指令分为三个部分,每个部分都是 「$ + 数字」开头,紧跟后面是该部分具体的「指令、键、值」。
    • 「数字」:表示这部分的命令、键、值多占用的字节大小。比如 「$3」表示这部分包含 3 个字节,也就是 「set」指令。

    Redis 宕机恢复,不丢数据秘诀是什么?

    ​ 图3-4

    2.写回策略

    为了提高文件的写入效率,当用户调用 write 函数,把数据写入到文件的时候,操作系统通常会将待写入的数据暂存在一个内存缓冲区里面,等到缓冲区的空间被填满、或者超过了指定的时限之后,才真正地将缓冲区中的数据写入到磁盘里面。

    这种做法虽然提高了效率,但也为写入数据带来了安全问题,因为如果计算机发生停机,那么保存在内存缓冲区里面的写入数据将会丢失。

    为此,系统提供了fsync和fdatasync两个同步函数,它们可以强制让操作系统立即将缓冲区中的数据写入到硬盘里面,从而确保写入数据的安全性。

    Redis 提供的 AOF 配置项appendfsync写回策略直接决定 AOF 持久化功能的效率和安全性。

    • always:同步写回,写指令执行完毕立马将 aof_buf缓冲区中的内容刷写到 AOF 文件。
    • everysec:每秒写回,写指令执行完,日志只会写到 AOF 文件缓冲区,每隔一秒就把缓冲区内容同步到磁盘。
    • no: 操作系统控制,写执行执行完毕,把日志写到 AOF 文件内存缓冲区,由操作系统决定何时刷写到磁盘。

    没有两全其美的策略,我们需要在性能和可靠性上做一个取舍。

    always同步写回可以做到数据不丢失,但是每个「写」指令都需要写入磁盘,性能最差。

    everysec每秒写回,避免了同步写回的性能开销,发生宕机可能有一秒位写入磁盘的数据丢失,在性能和可靠性之间做了折中。

    no操作系统控制,执行写指令后就写入 AOF 文件缓冲就可以执行后续的「写」指令,性能最好,但是有可能丢失很多的数据。

    3. AOF 重写瘦身

    MySQL:“随着写入操作的执行,AOF 日志过大怎么办?文件越大,数据恢复恢复就越慢。”

    为了解决 AOF 文件体积膨胀的问题,创造我的 antirez 老哥设计了一个杀手锏——AOF 重写机制,对文件进行瘦身。

    例如,使用 INCR counter 实现一个自增计数器,初始值 1,递增 1000 次的最终目标是 1000,但是在 AOF 中保存着 1000 次指令。

    在重写的时候并不需要其中的 999 个写操作,重写机制有多变一功能,将旧日志中的多条指令,重写后就变成了一条指令。

    其原理就是开辟一个子进程将内存中的数据转换成一系列 Redis 的写操作指令,写到一个新的 AOF 日志文件中。序列化完毕后再将操作期间发生的增量 AOF 日志追加到这个新的 AOF 日志文件中,追加完毕后就立即替代旧的 AOF 日志文件了,瘦身工作就完成了。

    Redis 宕机恢复,不丢数据秘诀是什么?

    ​ 图 3-5

    我提供了 bgrewriteaof指令用于对 AOF 日志进行瘦身。程序员不可能随时随地使用该指令去重写文件,这样的话都没有时间谈恋爱。

    所以,我还提供了以下两个配置,实现自动重写策略,解放程序员的双手。

    # 触发重写 AOF 配置
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    
    • auto-aof-rewrite-percentage:如果当前 AOF 文件的大小超过了上次重写后的 AOF 文件大小的百分比后,则开始重写 AOF。比如例子中设置为 100,当 AOF 文件的大小超过上次 AOF 文件重写后的 1 倍,就执行重写。
    • auto-aof-rewrite-min-size:表示触发 AOF 文件重写的最小值。如果 AOF 文件大小低于这个值,则不触发重写操作。

    注意的是,程序员手动执行 bgrewriteaof 命令并不受这两个条件限制。

    MySQL:“AOF 重写会阻塞主线程么?”

    重写是通过主线程 fork 出后台 bgrewriteaof 子进程执行,会把主线程的内存拷贝一份给 bgrewriteaof 子进程,子进程就能在不影响主线程的情况下,将拷贝的数据的写操作记录到重写日志。

    因此,在 AOF 重写时,阻塞主线程只发生在主线程 fork 子进程那一刻 。

    重写过程

    MySQL:“在重写日志时,有新数据写入内存怎么办?”

    总的来说,重写过程一共出现 两个日志和一次拷内存数据拷贝。分别是旧的 AOF 日志和新的 AOF 重写日志, Redis 数据拷贝。

    Redis 会将重写过程中的接收到的写操作同时记录到旧的 AOF 缓冲区和 AOF 重写缓冲区。

    这样新的重写日志也保存最新的操作。等到拷贝数据的所有操作记录重写完成后,重写缓冲区记录的最新操作也会写到新的 AOF 文件中。

    每次 AOF 重写时,Redis 会先执行一个内存拷贝,让 bgrewriteaof 子进程遍历拷贝的数据生成重写记录。

    使用两个日志保证在重写过程中,新写入的数据不会丢失,并且保持数据一致性。

    Redis 宕机恢复,不丢数据秘诀是什么?

    ​ 图 3-6

    MySQL:”为什么 AOF 重写不复用原 AOF 日志?“

    这个问题问得好,有以下两个原因:

    1. 一个原因是父子进程写同一个文件必然会产生竞争问题,控制竞争就意味着会影响父进程的性能。
    2. 如果 AOF 重写过程中失败了,那么原本的 AOF 文件相当于被污染了,无法做恢复使用。所以 Redis AOF 重写一个新文件,重写失败的话,直接删除这个文件就好了,不会对原先的 AOF 文件产生影响。等重写完成之后,直接替换旧文件即可。

    4. 优缺点

    优点

    • 持久化实时性高:在使用 fsync 每秒持久化的写入性能依然很棒。
    • 是一种追加日志,不会出现磁盘寻道问题。也不会在断电时出现损坏问题。即使由于某种原因(磁盘已满或其他原因)日志以写一半的命令结束,redis-check-aof 工具也能够轻松修复它。
    • 易于理解和解析的格式依次包含所有操作的日志。
    • 写操作执行成功才记录日志,避免了指令语法检查开销,同时,不会阻塞当前「写」指令。

    缺点

    • 由于 AOF 记录的是一个个指令内容,故障恢复的时候需要执行每一个指令,如果日志文件太大,整个恢复过程就会非常缓慢。
    • 另外文件系统对文件大小也有限制,不能保存过大文件,文件变大,追加效率也会变低。
    • 指令执行完成,写日志之前宕机了,会丢失数据。
    • AOF 避免了当前命令的阻塞,但是可能会给下一个命令带来阻塞的风险。AOF 日志是主线程执行,将日志写入磁盘过程中,如果磁盘压力大就会导致写磁盘很慢,导致后续的「写」指令阻塞。

    MySQL:“两种持久化方式都有优缺点,可不可以结合下做到更好呢?”

    重启 Redis 时,我们很少使用 RDB 来恢复内存状态,因为会丢失大量数据。我们通常使用 AOF 日志重放,但是重放 AOF 日志性能相对 RDB 来说要慢很多,这样在 Redis 实例很大的情况下,启动需要花费很长的时间。

    antirez 在 4.0 版本中给我提供了一个混合使用 AOF 日志和 RDB 内存快照的方法。简单来说,RDB 内存快照以一定的频率执行,在两次快照之间,使用 AOF 日志记录这期间的所有写操作。

    如此一来,快照就不需要频繁执行,避免了 fork 对主线程的性能影响,AOF 不再是全量日志,而是生成 RDB 快照时间的增量 AOF 日志,这个日志就会很小,都不需要重写了。

    等到,第二次做 RDB 全量快照,就可以清空旧的 AOF 日志,恢复数据的时候就不需要使用 AOF 日志了。

    MySQL:“RDB 和 AOF 持久化搞定了,如何从这些持久化文件中恢复数据呢?”

    如果一台服务器上既有 RDB 文件,又有 AOF 文件,当我重新启动的时候,将优先选择 AOF 文件来恢复数据,因为它能保证数据更完整。

    如果 AOF 文件不存在,则去加载 RDB 文件。恢复流程图 3-7 所示。

    Redis 宕机恢复,不丢数据秘诀是什么?

    ​ 图 3-7

    版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/MageByte/5791045,作者:码哥字节1024,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

    上一篇:java版本结巴分词算法bug

    下一篇:Storm超实用教程详解-附示例

    相关文章

    2025-04-22 09:27:37

    【Redis】浅析 Redis 事务

    【Redis】浅析 Redis 事务

    2025-04-22 09:27:37
    redis , Redis , 事务 , 命令 , 执行
    2025-04-15 09:24:56

    探秘Redis分布式锁:实战与注意事项

    Redis的Watch命令可以实现乐观锁,这是一种保护数据完整性的机制。在分布式环境中,当多个客户端并发地操作相同的键时,乐观锁有助于防止数据竞争和冲突。

    2025-04-15 09:24:56
    Redis , Redisson , 分布式 , 实例 , 客户端 , 获取
    2025-04-15 09:20:07

    Redis分区指南:如何实现高可用与扩展性

    在Redis的分布式环境中,数据分区是为了将数据存储在多个节点上,以实现更好的负载均衡和可扩展性。Hash是Redis中常见的一种数据分区方式,但它存在一些局限性,需要我们深入探讨。

    2025-04-15 09:20:07
    Hash , Redis , 分区 , 数据 , 节点
    2025-04-15 09:19:55

    Redis经典问题:BigKey问题

    在Redis中,每个Key都会对应一个Value,而这个Value的大小会影响Redis的性能表现。当我们存储的Value特别大时,就会出现BigKey问题。

    2025-04-15 09:19:55
    Key , Redis , 数据结构 , 系统 , 缓存 , 问题
    2025-03-31 08:58:01

    基于Spring Boot与Redis的令牌主动失效机制实现

    基于Spring Boot与Redis的令牌主动失效机制实现

    2025-03-31 08:58:01
    Redis , Token , 令牌 , 修改 , 失效 , 密码 , 用户
    2025-03-28 06:50:00

    Redis持久化策略揭秘:如何实现高可用!

    持久化是指将数据从易失的内存中保存到非易失的存储设备(如硬盘或SSD),以确保数据在服务器重启或意外宕机后不会丢失。Redis通过两种主要的持久化方式来实现数据的持久化:RDB和AOF。

    2025-03-28 06:50:00
    AOF , RDB , Redis , 快照 , 数据 , 文件
    2025-03-26 09:31:12

    在 Linux 上监听 Redis:从基础到进阶的实现与扩展

    作为一个对 Redis 和 Linux 系统管理充满热情的博主,我经常需要在 Linux 环境中监听 Redis,以确保 Redis 服务器的健康状态和性能。

    2025-03-26 09:31:12
    Linux , Redis , 监控 , 脚本
    2025-03-05 09:19:11

    RedLock 与 Redisson 实现分布式锁---算法与应用

    在分布式系统中,分布式锁是确保数据一致性和防止资源冲突的重要机制。随着应用程序的规模扩大和复杂性增加,如何有效地管理分布式锁成为一个关键问题。

    2025-03-05 09:19:11
    Redis , Redisson , 分布式 , 客户端 , 时间 , 获取
    2025-03-04 09:07:50

    Redis五种数据类型的操作

    Redis五种数据类型的操作

    2025-03-04 09:07:50
    Redis , 操作 , 数据类型 , 有序
    2025-02-27 09:35:36

    Redis高频面试基本问题整理

    Redis高频面试基本问题整理

    2025-02-27 09:35:36
    Redis , 操作 , 数据 , 缓存 , 节点 , 过期
    查看更多
    推荐标签

    作者介绍

    天翼云小翼
    天翼云用户

    文章

    32777

    阅读量

    4807952

    查看更多

    最新文章

    Redis分区指南:如何实现高可用与扩展性

    2025-04-15 09:20:07

    Redis持久化策略揭秘:如何实现高可用!

    2025-03-28 06:50:00

    Redis五种数据类型的操作

    2025-03-04 09:07:50

    Redis 持久化方式有哪些?以及有什么区别?

    2025-01-14 09:05:20

    Redis分区容错秘诀:解密主从模式

    2025-01-06 08:47:58

    Redis 数据类型

    2024-10-23 08:58:00

    查看更多

    热门文章

    Redis数据类型之List列表类型

    2023-07-25 08:26:09

    Redis数据类型之Hash哈希类型

    2023-07-25 08:09:42

    Redis数据类型之ZSet有序集合类型

    2023-07-27 06:01:40

    Redis数据类型之Set集合类型

    2023-07-25 08:25:30

    javaWeb实例之使用Redis保存分类数据

    2023-05-22 03:24:55

    深入探究Redis的AOF持久化:保障数据安全与恢复性能的关键机制

    2024-06-03 09:58:26

    查看更多

    热门标签

    算法 leetcode python 数据 java 数组 节点 大数据 i++ 链表 golang c++ 排序 django 数据类型
    查看更多

    相关产品

    弹性云主机

    随时自助获取、弹性伸缩的云服务器资源

    天翼云电脑(公众版)

    便捷、安全、高效的云电脑服务

    对象存储

    高品质、低成本的云上存储服务

    云硬盘

    为云上计算资源提供持久性块存储

    查看更多

    随机文章

    Redis五种数据类型的操作

    Redis 持久化方式有哪些?以及有什么区别?

    Redis分区容错秘诀:解密主从模式

    Redis的RDB快照:保障数据持久性的关键机制

    Redis持久化策略揭秘:如何实现高可用!

    Redis分区指南:如何实现高可用与扩展性

    • 7*24小时售后
    • 无忧退款
    • 免费备案
    • 专家服务
    售前咨询热线
    400-810-9889转1
    关注天翼云
    • 权益商城
    • 天翼云APP
    • 天翼云微信公众号
    服务与支持
    • 备案中心
    • 售前咨询
    • 智能客服
    • 自助服务
    • 工单管理
    • 客户公告
    • 涉诈举报
    账户管理
    • 管理中心
    • 订单管理
    • 余额管理
    • 发票管理
    • 充值汇款
    • 续费管理
    快速入口
    • 权益商城
    • 文档中心
    • 最新活动
    • 免费试用
    • 信任中心
    • 天翼云学堂
    云网生态
    • 甄选商城
    • 渠道合作
    • 云市场合作
    了解天翼云
    • 关于天翼云
    • 天翼云APP
    • 服务案例
    • 新闻资讯
    • 联系我们
    热门产品
    • 云电脑
    • 弹性云主机
    • 云电脑政企版
    • 天翼云手机
    • 云数据库
    • 对象存储
    • 云硬盘
    • Web应用防火墙
    • 服务器安全卫士
    • CDN加速
    热门推荐
    • 云服务备份
    • 边缘安全加速平台
    • 全站加速
    • 安全加速
    • 云服务器
    • 云主机
    • 智能边缘云
    • 应用编排服务
    • 微服务引擎
    • 共享流量包
    更多推荐
    • web应用防火墙
    • 密钥管理
    • 等保咨询
    • 安全专区
    • 应用运维管理
    • 云日志服务
    • 文档数据库服务
    • 云搜索服务
    • 数据湖探索
    • 数据仓库服务
    友情链接
    • 中国电信集团
    • 189邮箱
    • 天翼企业云盘
    • 天翼云盘
    ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
    公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
    • 用户协议
    • 隐私政策
    • 个人信息保护
    • 法律声明
    备案 京公网安备11010802043424号 京ICP备 2021034386号