当前位置:网站首页>6-Redis架构设计到使用场景-持久化机制、缓存失效策略、缓存命中率
6-Redis架构设计到使用场景-持久化机制、缓存失效策略、缓存命中率
2022-07-15 19:22:00 【xianghan收藏册】
持久化机制**
Redis提供两种持久化方式。
- RDB持久化:将Reids在内存中的数据定时dump到磁盘上的rdb文件
- AOF(Append Only File)持久化:将Redis的操作日志以追加的方式写入文件,通过操作还原数据
RDB持久化,在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

AOF持久化,以日志的形式记录服务器所处理的每一个写、删操作,查询操作不会记录,以文本的方式记录。

RDB优点
RDB是紧凑的二进制文件,适合备份,全量复制等场景
RDB恢复数据远快于AOF
RDB缺点
RDB无法实现实时或者秒级持久化
新老版本无法兼容RDB格式
AOF优点
可以更好地保护数据不丢失
appen-only模式写入性能比较高
适合做灾难性的误删除紧急恢复
AOF缺点
对于同一份文件,AOF文件要比RDB快照大
AOF开启后,写的QPS会有所影响,相对于RDB来说写QPS要下降
数据库恢复比较慢,不合适做冷备
对于缓存数据存储敏感的场景,一般通过两种方式配合进行备份。
Redis缓存失效策略
1、定时删除策略
在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。
- 优点:保证内存尽快释放
- 缺点:若key过多,删除这些key会占用很多CPU时间,而且每个key创建一个定时器,性能影响严重
2、惰性删除策略
key过期的时候不删除,每次从数据库获取key的时候去检查是否过期,若过期,则删除,返回null。
- 优点:CPU时间占用比较少
- 缺点:若key很长时间没有被获取,将不会被删除,可能造成内存泄露
3、定期删除策略
每隔一段时间执行一次删除(在redis.conf配置文件设置,1s刷新的频率)过期key操作。
- 优点:可以控制删除操作的时长和频率,来减少CPU时间占用,可以避免惰性删除时候内存泄漏的问题
- 缺点:对内存友好方面,不如定时策略;对CPU友好方面,不如惰性策略
Redis一般采用:惰性策略和定期策略两个相结合。
缓存命中率
命中:可以直接通过缓存获取到需要的数据
未命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作
- 原因可能是由于缓存中根本不存在,或者缓存已经过期
命中率越高表示使用缓存作用越好,性能越高(响应时间越短、吞吐量越高),并发能力也越好。利用预加载(预热)、扩容、优化缓存粒度、更新缓存等手段来提高命中率。
边栏推荐
- SQLyog无操作一段时间后重新操作会卡死问题(解决办法)
- ROS (25): release a static odometer Odom information
- 解析结合劳动教育的steam新课程
- 华泰证券网上开户安全吗,需要什么材料
- Help brand insight -- Analysis of consumers' emotional behavior
- BTC与科技股相关性减弱 市场不确定性增强?53%投资者将转向另类资产
- USB driver development process
- SQL也能玩转AI ?没错!MLOps Meetup V3 回顾|OpenMLBD+SQLFlow+Byzer
- HCIP第八天笔记
- 国内开源镜像网站汇总
猜你喜欢

海量遥感数据处理与GEE云计算技术实践应用

QT make color selection control

Sqlyog will be stuck if it is not operated for a period of time (solution)

论软件自动化测试中 QR_Code 的登录的逻辑

Pgbadger offline log analysis tool

易基因|ENCODE组蛋白ChIP-seq和转录因子ChIP-seq数据标准及处理流程

Hcip day 8 notes

Finance, biomedicine, integrated circuits, and Shanghai giant industries use AI to support their core competitiveness

【微服务】Nacos数据持久化以及集群的搭建

开机按F11 选择 one-shot再选U盘启动
随机推荐
解析结合劳动教育的steam新课程
【LeetCode】11. Lowest Common Ancestor of a Binary Search Tree· 二叉搜索树的最近公共祖先
ROS (25): release a static odometer Odom information
Analysis of quantum secure communication
[unity] skill sharing: how to change the default download resource location of the unity asset store
The correlation between BTC and technology stocks weakened, and market uncertainty increased? 53% of investors will turn to alternative assets
HybridCLR——划时代的Unity原生C#热更新技术
Interpreting the teaching principles of robot programming course
如何在dataworks写ADB的sql
SQL也能做AI ?没错!MLOps Meetup V3 回顾|OpenMLBD+SQLFlow+Byzer
How to deploy polardb for PostgreSQL?
少儿编程中项目式学习的创造性
小目标检测2_OHEM
Realize effective robot education and training management mode
CSDN博客专家专属荣耀奖励来了
全局注册组件
USB driver development process
Seven reasons why Ubuntu 22.04 LTS is the safest version at present
USB驱动开发流程
【MT2126】 数字游戏