IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis(九) 缓存设计 -> 正文阅读

[大数据]Redis(九) 缓存设计

1 需要加缓存吗?

在构建和优化业务服务时,首先想到的应该是优化数据库,比如数据库模型设计、SQL结构化查询语句优化,慢查询往往是系统性能杀手。其次是使用缓存

权衡缓存的收益与成本:
缓存所带来的性能提升效果更直接、高效:高性能、高并发,读写速度快,降低后端负载。
任何系统使用缓存,都会遇到两大问题:数据不一致问题、系统复杂度增加。

2 缓存的设计与使用?

衡量缓存设计好坏的指标是缓存命中率,缓存的命中率=缓存命中次数/请求次数,命中率越高,缓存的使用率越高。
缓存的适用场景总的来说是缓存高频读低频写的数据。相反变化频率高、访问频率低的数据不适合缓存。

设计和使用缓存首先要了解服务、DB、Cache的性能情况。

2.1 选择分布式缓存的设计模式?

Cache Aside Pattern(数据不一致概率低,读操作多的场景)/
Read Write Through Pattern(应用端代码维护简单)/
Write Behind Pattern(写性能最高,写操作多的场景,但是数据安全性较差)
根据 读写场景、性能要求、数据不一致的容忍程度、代码维护 选择合适的模式。

2.2 缓存粒度控制?

缓存全部数据还是部分数据?
需要考虑缓存命中率、通用性、空间占用、代码复杂度。
缓存命中率:缓存全部数据的命中率低于缓存热点数据。
通用性:缓存全部数据比部分数据更加通用,但从实际经验看,很长时间内应用只需要几个重要的属性。
空间占用:缓存全部数据要比部分数据占用更多的空间。
代码复杂度:缓存全部数据的代码会更简洁。

2.3 如何保证缓存的数据是热点数据?

设置缓存淘汰策略用来保证缓存中存储的是热点数据。
为缓存数据设置过期时间。
低一致性业务建议配置最大内存和缓存淘汰策略(LRU LFU FIFO)的方式使用。
高一致性业务可以结合过期删除和主动更新策略。(双更 先更再删 异步重试)

2.4 缓存引入的问题?

缓存穿透 缓存击穿 缓存雪崩 数据不一致 主从不一致

总结:

深入业务,才能有好的设计。设计缓存时要根据业务特点,明白什么是不容易变的,什么是相对容易变,客户对于数据不一致性的容忍程度。这样才能发现真正应该缓存的点。

参考:
缓存设计:https://javakeeper.starfish.ink/data-management/Redis/Cache-Design.html
缓存的设计与使用:https://zhuanlan.zhihu.com/p/94847283

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:28:20  更:2022-04-01 23:30:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 3:36:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码