首页/新闻资讯/正文详情

蜗牛学苑 Java 智能体学习 Day48|Redis 全知识点思维导图复盘

发布时间:2026/9/24 9:45:05 来源:云帆数科 栏目:资讯中心
蜗牛学苑 Java 智能体学习 Day48|Redis 全知识点思维导图复盘
一、思维导图整体知识结构梳理Redis 介绍Redis 是什么分类非关系型数据库 NoSQL不仅仅是 SQLNoSQL 解决传统关系型数据库痛点NoSQL 产品MongoDB、RedisNoSQL 特点易扩展灵活的数据模型大数据量高性能高可用Redis 定义高性能键值对内存数据库应用场景缓存任务队列网站访问统计数据过期处理分布式集群架构中的 session 分离分布式锁Redis 为什么快运行内存中C 语言开发采用单线程多路 IO 模型内置很多高效的数据类型集合支持管道技术没有多线程上下文切换的性能损耗通用 Key 操作keys *查询所有 keydel key删除指定 keyexists判断 key 是否存在rename重命名 keyexpire设置 key 过期时间ttl查看 key 剩余过期时间type判断 value 数据类型select n切换数据库基本 5 大数据类型string 字符串常用指令set、get、setex、del、incr、decr、append、strlen存储内容字符串、数值特性可修改追加默认从 0 开始有序允许可查找遍历list 列表常用指令lpush、rpush、lpop、rpop、lrange、lindex、llen、lrem、lset、ltrim企业场景消息队列、有序字符串类比 Java MapString,MapString,StringHash 哈希常用指令hset、hget、hmset、hmget、hkeys、hvals、hdel、hexists场景对象存储Set 集合常用指令sadd、smembers、srem、spop、scard、sismember、sinter、sunion、sdiff特性无序元素不重复支持交集、并、差集运算场景点赞、收藏、点踩Zset 有序集合sorted set常用指令zadd、zrange、zrangebyscore、zrem、zcard、zrank、zrevrangebyscore、zincrby、zcount场景排序、实时排行榜高级数据类型BitMap 位图存储优势极大节省内存100 万用户仅占用 125KB示例场景海量用户访问统计核心特性key 不一定存在判定存在不一定有数据布隆过滤器应用场景黑名单存储用户 id爬虫网址判重用户登录统计如何实现方式Guava 单机布隆过滤器实现Java 手写基于 BitSet 分布式布隆过滤器实现Redis 实现布隆过滤器实现缓存问题缓存使用业务热点数据必须放入缓存中推荐本地缓存与分布式缓存相结合优先读取本地缓存本地缓存为主分布式缓存为辅所有缓存有设置过期时间本地缓存过期时间较短本地缓存同时开启容量限制 时间淘汰策略缓存 Key 具备业务含义避免不同业务 key 冲突缓存序列化统一规范缓存键值尽量不超过 20避免并发更新缓存优先删除缓存空数据也要放入缓存防止缓存穿透读逻辑先读缓存缓存失效再查询数据库写逻辑先写入数据库再更新缓存频繁变动的数据尽量不要缓存缓存预热提前加载缓存数据库不存在读库直接打回缓存缓存穿透现象查询数据库不存在的数据产生大量缓存查询解决方案布隆过滤器缓存空值缓存击穿现象大量 key 同一时间失效 或 Redis 宕机大量请求打数据库解决方案给不同 key 设置差异化过期时间、多级缓存本地缓存 本地缓存缓存雪崩现象热点 key 缓存失效瞬间大量并发请求打到数据库解决方案加互斥锁分布式锁缓存穿透和缓存雪崩区别缓存穿透大量不存在 key 失效缓存雪崩单个热点 key 失效Redis 持久化RDBRedis DataBase快照原理内存存储数据生成二进制快照手动命令自动触发配置 save 规则、Redis 关闭关闭 RDB配置 save 备份两次快照之间机会丢失数据原理记录每一条写操作命令AOFAppend only FileAOF 需要手动开启appendfsync重写机制重写触发auto-aof-rewrite-percentage上一次重写比例auto-aof-rewrite-min-size触发重写最小体积重启加载顺序优先加载 AOF 文件无 AOF 则加载 RDBsave同步执行阻塞主线程bgsavefork 子进程异步写入不阻塞主线程锁相关为什么需要加锁内存数据共享于多线程多线程竞争导致数据不一致线程安全问题控制同一时刻只有一个线程执行代码片段锁的分类悲观锁synchronized特点自动获取锁、自动释放锁可重入锁原理获取共享资源监视器其他线程等待执行完毕自动释放实现类ReentrantLock 可重入锁Lock 接口lock ()阻塞获取锁拿不到就等待tryLock (time)尝试获取锁返回 true/falselockInterruptibly可中断锁线程等待时可中断乐观锁分布式锁Redis 实现分布式锁锁条件where id #{id} and version #{version}版本号 version版本不可修改失效可重MySql 基于 InnoDB 实现基本机制三个参数预期值、新值、版本变量原理比较当前值和预期值相等则更新不相等则失败原子操作避免多线程数据不一致CAS 操作制作意图本次复盘梳理 Redis 完整知识体系覆盖基础概念、5 大基础类型、高级类型、缓存三大经典问题、持久化方案以及锁机制。重点区分缓存穿透 / 击穿 / 雪崩掌握 RDB 与 AOF 持久化差异、悲观锁与乐观锁的适用场景为项目实战与面试夯实 Redis 核心考点。当日学习总结今天系统学习 Redis 全套知识点掌握各类数据结构命令与业务落地场景吃透缓存常见问题的成因与解决方案理解 Redis 两种持久化方式的优缺点学习锁的分类、CAS 原理掌握 Redis 分布式锁的实现思路。Redis 作为项目缓存核心组件是后端面试高频考点需要重点记忆各类场景的选型方案。

相关推荐

2026 企业 AI 办公工具选型指南:评估框架与产品全景盘点
2026 企业 AI 办公工具选型指南:评估框架与产品全景盘点

企业选 AI 办公工具,为什么不能只看功能列表 很多企业在启动AI办公工具调研的第一阶段,都会下意识拉一张长长的功能对比表,把不同产品支持的生成内容类型、插件数量、界面样式逐一罗列打分,甚至直接参考C端用户的热度榜单做决策&a… · 2026/9/24 9:45:05

简单再说说信管的最后30天:只管背
简单再说说信管的最后30天:只管背

离下半年软考还有30天,昨天说完系规,今天继续说信管。信管比系规干脆,就一件事:背。为什么是背,而且只有背?■ 信管比系规少一块包袱,所以就剩背信管和系规是同一个序列的:系规是高级… · 2026/9/24 9:44:52

部署深信服日志中心,局域网中的所有上网行为都将记录起来。
部署深信服日志中心,局域网中的所有上网行为都将记录起来。

今天老板的秘书找到帽帽,说是老板找我有事,让我有空待会过去一趟,我想肯定不算好事也不算坏事,但是也不是对我不利的事情,所以就回了一句,我忙好手上的事情就过去。到了老板办公室后,老板跟我说… · 2026/9/24 9:44:40

Tinkercad电路仿真实战:从点亮LED到Arduino闪烁与555定时器
Tinkercad电路仿真实战:从点亮LED到Arduino闪烁与555定时器

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:23:32

服装供应链SCM系统架构解析:库存周转的 MRP 运算与数据同源链路
服装供应链SCM系统架构解析:库存周转的 MRP 运算与数据同源链路

中秋(9 月 25 日)与国庆(10 月 1 日)相邻,其间仅三个工作日,供应链备货窗口被显著压缩。库存周转的瓶颈通常不在备货量级,而在链路数据的接续:一套服装供应链SCM系统若在算、转、看三… · 2026/9/24 10:22:41

ESP8266与KiwisIoT实现低成本远程水位监测与告警系统
ESP8266与KiwisIoT实现低成本远程水位监测与告警系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:22:28

ARM学习笔记(8)
ARM学习笔记(8)

今天整理 i2c 的笔记,总线这个东西看着简单,把时序捋清楚也就通了大半。I2C 是什么I2C 是两根线的串行通信总线,一根 SCL 时钟线、一根 SDA 数据线。靠地址寻址从机,地址是 7 位,最多能挂 127 个从机。起始信号之后发的… · 2026/9/24 10:21:56

【Springboot毕设全套源码+文档】基于Java+spring boot的智慧医疗平台设计与实现(丰富项目+远程调试+讲解+定制)
【Springboot毕设全套源码+文档】基于Java+spring boot的智慧医疗平台设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… · 2026/9/24 10:21:30

【JAVA毕设源码分享】基于spring boot的智慧医疗平台设计与实现(程序+文档+代码讲解+一条龙定制)
【JAVA毕设源码分享】基于spring boot的智慧医疗平台设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… · 2026/9/24 10:21:30

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码