分布式缓存与Redis
创始人
2024-11-17 19:32:33
0

缓存定义与意义

  • 狭义缓存:加速CPU数据交换的存储器。
  • 广义缓存:所有用于数据高速交换的存储介质,包括硬件和软件。
  • 缓存目的:通过数据交换缓冲区减少原始数据获取代价,提高读写性能。

缓存思想与性能

  • 时间局限性原理:数据一旦被获取,未来可能被多次引用。
  • 以空间换时间:使用高速独立空间来提供数据的高效访问。
  • 性能成本权衡:访问延迟越低,性能越高,成本也越大。

缓存的优势与代价

  • 优势
    • 提升访问性能。
    • 降低网络拥堵。
    • 减轻服务负载。
    • 增强可扩展性。
  • 代价
    • 增加系统复杂度。
    • 增加部署和运行成本。
    • 存在数据一致性问题。

缓存读写模式

  1. Cache Aside(旁路缓存)
    • 写操作:更新数据库后删除缓存中的key。
    • 读操作:先读缓存,未命中则读数据库并回写缓存。
  2. Read/Write Through(读写穿透)
    • 业务应用通过存储服务与缓存和数据库交互。
    • 存储服务代理处理缓存和数据库的读写操作。
  3. Write Behind Caching(异步缓存写入)
    • 先更新缓存,异步批量更新数据库。
    • 写性能高,但可能数据一致性差,存在数据丢失风险。

缓存问题解决方案

  1. 缓存穿透
    • 频繁查询不存在的数据。
    • 解决方案:接口校验、缓存空对象、布隆过滤器。
  2. 缓存击穿
    • 热点Key过期导致大量请求访问数据库。
    • 解决方案:永不过期、逻辑过期、使用互斥锁。
  3. 缓存雪崩
    • 大量缓存key同时失效或服务宕机。
    • 解决方案:随机过期时间、集群部署、多级缓存、降级限流。

缓存数据不一致和并发竞争

  • 数据不一致
    • 原因:更新数据库后缓存更新失败。
    • 解决方案:重试更新、使用队列服务、缓存分层策略。
  • 数据并发竞争
    • 原因:缓存miss导致大量请求并发查询数据库。
    • 解决方案:全局锁、多个缓存备份。

Hot Key和Big Key问题

  • Hot Key
    • 原因:突发热门事件导致大量请求。
    • 解决方案:识别热key、分散缓存节点、多副本架构、监控SLA、本地缓存。
  • Big Key
    • 原因:缓存Value过大导致读写超时。
    • 解决方案:启用压缩、预先分配足够空间、序列化构建、分拆大key。

Redis网络模型

  • 用户空间与内核空间
    • 用户空间通过内核接口访问资源。
    • 内核空间直接调用系统资源。
  • Linux缓冲区
    • 用户空间和内核空间都加入缓冲区提高IO效率。
  • 网络模型
    • 阻塞IO:两个阶段都阻塞。
    • 非阻塞IO:第一阶段不阻塞,第二阶段阻塞。
    • IO多路复用:单个线程监听多个FD。
    • 信号驱动IO:通过信号通知用户进程FD就绪。
    • 异步IO:内核完成数据处理后写入用户态。

Redis多线程支持

  • Redis v4.0:引入多线程处理耗时任务。
  • Redis v6.0:在核心网络模型中引入多线程。

缓存设计架构考量点

  • 读写方式:整体读写或部分读写。
  • KV size:根据业务数据大小分拆或合并KV。
  • key数量:全量数据或只保留热数据。
  • 读写峰值:独立Cache池或分层处理。
  • 命中率:持续监控和故障处理。
  • 过期策略:设置合理过期时间或使用时间戳。

相关内容

热门资讯

解迷一下!德友汇辅助器,家乡大... 解迷一下!德友汇辅助器,家乡大二辅助免费,原来有挂(哔哩哔哩)1、这是跨平台的家乡大二辅助轻量版有透...
揭露一下!斗棋bug,盛世辅助... 揭露一下!斗棋bug,盛世辅助器,竟然真的有挂(哔哩哔哩)1、让任何用户在无需盛世辅助器安装教程第三...
专业一下!互游辅助,三江互娱辅... 专业一下!互游辅助,三江互娱辅助,真是是有挂(哔哩哔哩)1、进入到互游辅助是否有挂之后,能看到左侧胜...
解密一下!胡乐麻将辅助器,广西... 解密一下!胡乐麻将辅助器,广西老友玩有破解视频,一直是有挂(哔哩哔哩)1、解密一下!胡乐麻将辅助器,...
辅助一下!闲来辅助神器下载,八... 辅助一下!闲来辅助神器下载,八闽掌上辅助软件,总是存在有挂(哔哩哔哩)闲来辅助神器下载破解侠是真的助...
推荐一下!天天挂机辅助工具,福... 推荐一下!天天挂机辅助工具,福建天天开心辅助真是性,好像存在有挂(哔哩哔哩)1.天天挂机辅助工具 选...
关于一下!决战辅助软件,九九山... 关于一下!决战辅助软件,九九山城万州版脚本,好像真的是有挂(哔哩哔哩)1、九九山城万州版脚本脚本辅助...
总结一下!小程序四川血战辅助,... 总结一下!小程序四川血战辅助,天酷辅助器,好像真的有挂(哔哩哔哩)1、小程序四川血战辅助脚本辅助下载...
教你一下!多乐辅助下载够机,胡... 教你一下!多乐辅助下载够机,胡易决胜麻架辅助,确实有挂(哔哩哔哩)1、超多福利:超高返利,海量正版游...
详细一下!小程序牵手跑得有辅助... 详细一下!小程序牵手跑得有辅助器,牛总管一定要牛辅助,本来真的有挂(哔哩哔哩)1、很好的工具软件,可...