4-Redis篇-3

简介: Redis与Memcached在数据结构、集群支持及持久化上差异显著;内存满时Redis可淘汰或报错;与MySQL一致性可通过删缓存+双写、MQ异步、过期策略等方案分级保障;缓存穿透用布隆过滤器,击穿靠预热、永不过期或加锁限流。(239字)

11- Redis 和 Memcached 的区别有哪些?

  1. Redis 提供复杂的数据结构,丰富的数据操作 , Memcached 仅提供简单的字符串。
  2. Redis原生支持集群模式 , Memcached不支持原生集群
  3. Memcached 不支持持久化存储,重启时,数据被清空, Redis 支持持久化存储,重启时,可以恢复已持久化的数据
    12- Redis的内存用完了会发生什么?
    如果达到设置的上限,Redis 的写命令会返回错误信息( 但是读命令还可以正常返回。) 也可以配置内存淘汰机制, 当 Redis 达到内存上限时会冲刷掉旧的内容。
    13- Redis和Mysql如何保证数据⼀致?
  4. 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不⼀致
  5. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中
    这种⽅案能解决1 ⽅案的问题,但是在⾼并发下性能较低,⽽且仍然会出现数据不⼀致的问题,⽐如线程1删除了 Redis缓存数据,正在更新Mysql,此时另外⼀个查询再查询,那么就会把Mysql中⽼数据⼜查到 Redis中
  6. 使用MQ异步同步, 保证数据的最终一致性
    我们项目中会根据业务情况 , 使用不同的方案来解决Redis和Mysql的一致性问题 :
  7. 对于一些一致性要求不高的场景 , 不做处理例如 : 用户行为数据 , 我们没有做一致性保证 , 因为就算不一致产生的影响也很小
  8. 对于时效性数据 , 设置过期时间例如 : 接口缓存数据 , 我们会设置缓存的过期时间为 60S , 那么可能会出现60S之内的数据不一致, 60S后缓存过期, 重新从数据库加载就一致了
  9. 对于一致性要求比较高但是时效性要求不那么高的场景 , 使用MQ不断发送消息完成数据同步直到成功为止例如 : 首页广告数据 , 首页推荐数据数据库数据发生修改----> 发送消息到MQ -----> 接收消息更新缓存消息不丢失/重复消费 : 消息状态表/消息消费表
  10. 对于一致性和时效性要求都比较高的场景 , 使用分布式事务 , Seata的TCC模式很少用
    14- 什么是缓存穿透 ? 怎么解决 ?
    缓存穿透是指查询一条数据库和缓存都没有的一条数据,就会一直查询数据库,对数据库的访问压力就会增大,缓存穿透的解决方案
    有以下2种解决方案 :
    ● 缓存空对象:代码维护较简单,但是效果不好。
    ● 布隆过滤器:代码维护复杂,效果很好
    15- 什么是缓存击穿 ? 怎么解决 ?
    缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大
    解决方案 :
    ● 热点数据提前预热
    ● 设置热点数据永远不过期。
    ● 加锁 , 限流
目录
相关文章
|
2月前
|
存储 缓存 NoSQL
4-Redis篇-1
本文详解Redis在项目中的三大应用:热点缓存、业务数据存储(如验证码、排行榜)及分布式锁;涵盖5种基础数据类型、RDB/AOF双持久化机制、惰性+定期混合过期策略,以及8种内存淘汰策略。
172 19
|
2月前
|
Java 应用服务中间件 Maven
5-微服务篇-1
本文详解SpringBoot核心机制:①自动装配原理——通过@SpringBootApplication→@EnableAutoConfiguration→AutoConfigurationImportSelector→spring.factories加载条件化配置类;②启动流程三阶段:初始化、上下文创建、自动配置;③常用起步依赖、配置文件类型(properties/YAML)及加载优先级;④四种运行方式。
261 23
|
2月前
|
Linux API 网络安全
OpenClaw从零到一落地:阿里云/本地部署、免费模型API配置、多Agent协同与问题全解
OpenClaw(曾用名Clawdbot)是2026年主流开源AI智能体框架,以本地优先、强任务执行、多Agent协同、工具生态完善为核心优势,可实现代码开发、内容创作、信息检索、自动化运营、项目管理等复杂任务,支持私有化部署、7×24小时稳定运行,兼容阿里云千问、Coding Plan免费编程模型等主流大模型服务,适配个人开发者、轻量化团队、自媒体运营等多种使用场景。本文基于2026年最新版本,完整覆盖阿里云云端部署、MacOS/Linux/Windows11本地安装、阿里云千问API与Coding Plan免费API对接、多Agent配置、服务启动验证及全场景常见问题解答,所有命令与配置均
597 5
|
存储 Kubernetes Cloud Native
一文搞懂云原生架构
目前,每个 IT 资源或产品都作为服务提供。而且伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,云原生很火,火得一塌糊涂,都0202年了,如果还不懂云原生,那真的out了。因此,云原生软件开发成为每个企业的关键要求,无论其规模和性质如何。在加入云计算潮流之前,了解什么是云原生架构以及如何为云原生应用程序需求设计正确的架构非常重要。
10806 0
一文搞懂云原生架构
|
2月前
|
Linux API 数据安全/隐私保护
OpenClaw怎么部署?OpenClaw 阿里云/本地Win11/MacOS/Linux部署教程+千问/百炼Coding Plan API配置全指南
OpenClaw(曾用名Clawdbot、Moltbot)作为2026年开源AI智能体领域的标杆工具,凭借“本地优先、全场景自动化、多模型兼容”的核心优势,成为个人与轻量团队提升效率的首选。它无需复杂编程,仅通过自然语言指令,即可完成文件管理、代码生成、网页抓取、办公协同等重复性任务,所有数据可本地存储,隐私安全性拉满。其核心价值在于打破传统AI“只说不做”的局限,实现“指令输入-任务拆解-执行落地”的完整闭环。
892 10
|
2月前
|
存储 NoSQL 算法
4-Redis篇-2
本文详解Redis集群架构与核心机制:采用哨兵集群(1主2从+3哨兵)保障高可用;对比主从复制、哨兵、Cluster分片三大方案;解析主从同步的全量/增量复制流程;说明Cluster基于16384哈希槽的分片存储原理;简述MULTI/EXEC等事务命令及实际使用情况。(239字)
169 6
|
2月前
|
机器学习/深度学习 人工智能 监控
厨房食品卫生与安全检测14类数据集分享(适用于YOLO系列深度学习分类检测任务)
本数据集含18万张厨房场景图像,覆盖蟑螂、口罩、烟雾等14类食品安全风险目标,专为YOLO系列目标检测优化(640×640分辨率,YOLO TXT标注)。适用于智能监控、餐饮监管与AI教学,助力构建实时卫生安全预警系统。(239字)
475 5
|
2月前
|
人工智能 监控 算法
狗狗6种行为识别检测数据集(近3000张图片已标注)| YOLO训练数据集 AI视觉检测
本数据集含近3000张高质量标注图片,覆盖狗狗吠叫、进食、趴卧、奔跑、端坐、站立6类行为,YOLO格式(v5/v8兼容),已划分训练/验证/测试集,适用于宠物监护、行为分析及AI教学。
707 13
|
2月前
|
SQL 存储 关系型数据库
3-MySQL篇-3
本文详解MySQL索引核心概念:回表查询(先查索引再查主键)、覆盖索引(索引含所有查询字段,避免回表)、左前缀原则(联合索引最左匹配);并列举索引失效场景及建索引最佳实践。
143 0
|
2月前
|
缓存 NoSQL 调度
4-Redis篇-4
本文详解Redis三大核心问题:缓存雪崩(大量key同时失效,需加随机过期时间)、热点数据保障(采用LFU淘汰策略)、分布式锁实现(基于SETNX,解决死锁、超时、归一、可重入及阻塞等问题),并附实战应用案例。
185 12