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

北京JAVA基础面试30天打卡07

1. 缓存三大问题及解决方案

问题场景后果常用解决方案
缓存穿透请求的数据在缓存和数据库中都不存在(恶意攻击或查询异常 ID)每次请求都会打到数据库,导致 DB 压力骤增- 缓存空值(短期缓存不存在的 key)
- 布隆过滤器(提前判断 key 是否存在)
- 接口参数校验、限流
缓存击穿热点 key 过期瞬间,大量请求同时访问同一时间大量请求打到数据库,可能压垮 DB- 互斥锁 / 分布式锁(第一个请求构建缓存,其它等待)
- 逻辑过期(业务侧判断过期,异步更新)
- 提前刷新缓存
缓存雪崩大量 key 在同一时间过期(比如统一设置了相同 TTL)瞬时缓存失效,所有请求直达 DB,造成雪崩- 过期时间随机化(TTL + 随机值)
- 多级缓存(本地缓存 + 分布式缓存)
- 限流 + 服务降级

2. 如何保证 Redis 的高并发

Redis 本身是单线程处理命令(IO 多路复用 + 内存操作快),但要在高并发场景下保持性能,需要从以下几方面优化:

网络层优化

使用 pipeline 批量发送命令减少 RTT

合理配置连接池,避免频繁建立连接

数据结构选择

选择合适的 Redis 数据类型(如 hash 存储对象、zset 排序等)减少 key 数量

避免大 key(拆分成多个小 key)

分片与集群

使用 Redis Cluster 做数据分片,分摊 QPS 压力

业务端可做读写分离(主写,从读)

热点 key 优化

本地缓存(Caffeine / Guava)+ Redis 二级缓存

预热热点数据,减少直接访问 DB

持久化与备份

结合 RDB + AOF(混合持久化)减少阻塞

合理调优 save、appendfsync 等参数

3. Redis 如何保证原子性

Redis 的原子性是依赖其单线程命令执行模型,以及事务机制:

单命令天然原子性

Redis 单线程按顺序执行命令,不会被中断

例如 INCR key、HSET key field value 是天然原子操作

事务(MULTI/EXEC)

将多个命令放到事务中执行,保证要么全执行,要么都不执行(但事务内命令不会回滚)

Lua 脚本

使用 EVAL 在服务端执行一段 Lua 脚本,脚本中所有操作是原子性的

常用于复杂的原子性业务逻辑(如扣库存 + 记录日志)加粗样式

http://www.xdnf.cn/news/1280215.html

相关文章:

  • HTTPS的应用层协议
  • react+vite-plugin-react-router-generator自动化生成路由
  • 安全等级认证系列 | 星环ArgoDB获CC EAL2安全认证,数据安全实力获国际认可
  • Linux入门DAY21
  • 用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖
  • 读《精益数据分析》:媒体内容平台全链路梳理
  • 低延迟RTSP|RTMP视频链路在AI驱动无人机与机器人操控中的架构实践与性能优化
  • TRS(总收益互换)系统架构设计:多市场交易的技术实现分析
  • 每日五个pyecharts可视化图表-line:从入门到精通 (3)
  • 常用设计模式系列(十九)- 状态模式
  • 闸机控制系统从设计到实现全解析:第 5 篇:RabbitMQ 消息队列与闸机通信设计
  • HBase BlockCache:LRU Cache
  • Agent用户体验设计:人机交互的最佳实践
  • redis(2)-java客户端使用(IDEA基于springboot)
  • 【图像处理基石】UE输出渲染视频,有哪些画质相关的维度和标准可以参考?
  • FlinkSql(详细讲解二)
  • IDE认知革命:JetBrains AI Assistant插件深度调教手册(终极实战指南)
  • 服务器配置实战:从 “密码锁” 到 “分工协作” 的知识点详解
  • POI导入时相关的EXCEL校验
  • Spring Boot Excel数据导入数据库实现详解
  • 缓存的三大问题分析与解决
  • Flink + Hologres构建实时数仓
  • MSE ZooKeeper:Flink高可用架构的企业级选择
  • 容器之王--Docker的安全优化详解及演练
  • 在Mac 上生成GitLab 的SSH 密钥并将其添加到GitLab
  • Django Request 与 DRF Request 的区别
  • (Arxiv-2025)Phantom:通过跨模态对齐实现主体一致性视频生成
  • 什么情况下会导致日本服务器变慢?解决办法
  • 第2节 大模型分布式推理架构设计原则
  • AIStarter修复macOS 15兼容问题:跨平台AI项目管理新体验