当前位置: 首页 > news >正文

Redis 核心知识体系总结

Redis 核心知识体系总结


一、数据类型与应用场景

Redis 提供了丰富的数据结构,不仅仅是 key-value 存储:

  • String

    • 二进制安全,最大支持 512MB
    • 应用:缓存对象、计数器、分布式 ID
  • List

    • 双向链表结构
    • 应用:消息队列(lpush/rpop)、时间线
  • Hash

    • 类似 map,存储对象属性
    • 应用:用户信息存储
  • Set

    • 无序集合,支持交集/并集/差集
    • 应用:去重、共同好友
  • Sorted Set (ZSet)

    • 有序集合,基于跳表实现
    • 应用:排行榜、延时队列

二、持久化机制

Redis 的数据主要存在内存中,但提供两种持久化方案:

  1. RDB(快照)

    • 周期性生成数据快照,保存到磁盘
    • 优点:文件紧凑、恢复快
    • 缺点:可能丢失最后一次快照之后的数据
  2. AOF(追加日志)

    • 每次写操作追加到日志文件
    • 优点:数据更安全,可配置 everysecalways
    • 缺点:文件体积大,需要定期重写

最佳实践:生产环境通常同时开启 RDB + AOF,兼顾安全性和恢复效率。


三、缓存异常与解决方案

在实际使用中,Redis 常见的三大缓存异常问题:

  • 缓存穿透:查询不存在的数据,直接打到数据库

    • 解决:布隆过滤器、缓存空值
  • 缓存击穿:热点 key 过期,大量请求同时打到数据库

    • 解决:互斥锁、逻辑过期
  • 缓存雪崩:大量 key 同时过期,导致数据库被压垮

    • 解决:随机过期时间、分级缓存

四、内存淘汰策略

当内存不足时,Redis 提供多种淘汰策略(maxmemory-policy):

  • noeviction:直接报错(默认)

  • volatile-xxx:只对设置过期时间的 key 进行淘汰

  • allkeys-xxx:对所有 key 淘汰

    • lru(最近最少使用)、lfu(最不经常使用)、random

常见选择:allkeys-lru,在缓存场景中效果较好。


五、事务与脚本

Redis 提供了事务机制,但与关系型数据库不同:

  • 事务 (MULTI/EXEC):一次性执行多条命令,不支持回滚
  • Lua 脚本 (EVAL):保证原子性,常用于分布式锁、复杂操作

六、分布式锁设计

Redis 也常用来实现分布式锁:

  1. SETNX + EXPIRE

    • 基本实现,存在过期时间和原子性问题
  2. SET key value NX PX ttl

    • 推荐写法,保证原子性
  3. Redlock 算法

    • 多节点部署,保证更高容错性
    • 但在社区中仍存在争议,适合场景需谨慎

注意点:分布式锁要考虑过期续约(如 Redisson 的 watchdog 机制)。


七、内存优化与运维

  • 减少内存占用

    • 使用合适的数据结构(如 hash 存小对象,减少 key 数量)
    • 开启压缩选项(如 listpackintset
  • 监控与优化

    • info 查看内存占用
    • 使用 slowlog 监控慢查询
http://www.dtcms.com/a/414717.html

相关文章:

  • 网站图片速度临沂市经济开发区建设局网站
  • React第四天——hooks
  • 地方网站如何做网页版梦幻西游好玩吗
  • 无人机,无人车等机器人系统分布式集群技术难点
  • 企业网站硬件方面建设如何做移动端网站
  • 【代码随想录day 28】 力扣 1005. K次取反后最大化的数组和
  • Python 2025:云原生与容器化技术的新浪潮
  • 上网出现危险网站wordpress批量修改文章内链接
  • 速通ACM省铜第十六天 赋源码(Sigma Cubes和Find Permutation 2和Rotate and Sum Query)
  • 算法题(219):纪念品
  • Cybersecurity AI (CAI) - 轻量级网络安全AI框架
  • 接网站建设_网站设计交换链接的其它叫法是
  • 计算机视觉(opencv)——基于 dlib 的实时摄像头人脸检测
  • qq空间网站开发商延期交房可以退房吗?
  • 装潢设计与制作是学什么seo超级外链
  • 鹤庆县公路建设网站汕头网站建设 网络服务
  • pdf绘制编辑如何等比例缩放?PDF编辑为什么缩放时图像会乱会变形,为什么要按住shift等比例缩放?
  • 简单的网站后台管理系统如何屏蔽WordPress更新
  • Excel文件瘦身指南:快速瘦身,告别卡顿-Excel易用宝
  • noScribe - 本地化AI音频转录工具
  • 【数据挖掘】基于随机森林回归模型的二手车价格预测分析(数据集+源码)
  • 国外做珠宝的网站有哪些贵阳市做网站电话
  • 有网站后台网站默认样式表
  • git仓库常用命令
  • 1网站建设的目标是什么意思南阳专业做网站公司
  • 基于LLM的智能GDB分析工具方案设计
  • 机器人动力学模型的快速入门介绍
  • 公司官网模板泰州网站优化公司
  • 小迪web自用笔记39
  • LeetCode 199.二叉树的右视图