第10章 Redis的缓存设计与优化ppt课件(完整版).pptx
《第10章 Redis的缓存设计与优化ppt课件(完整版).pptx》由会员分享,可在线阅读,更多相关《第10章 Redis的缓存设计与优化ppt课件(完整版).pptx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第10章 Redis的缓存设计与优化ppt课件(完整版)Redis 6 开发与实战主讲教师:XXX大数据教材Redis 6开发与实战学院:XXX邮箱:XXX办公地点:XXX办公电话:XXX推荐教材Redis 6 开发与实战 作者:张云河、王硕出版:人民邮电出版社配套:PPT+实验指导特点:覆盖Redis 6版本的绝大部分核心特性,面向初学者的行文分格,加上大量的辅助图片等。第十章 RedisRedis的缓存设计与优化大数据教材Redis 6开发与实战主讲: XXX 主审: XXX第5章Redis的持久化第1章初始Redis 第2章Redis常用数据类型第3章Redis常用命令第4章Redis高
2、级主题 第5章Redis缓存的持久化第6章Redis集群环境部署第7章Redis开发与实战第8章Spring Boot与Redis整合应用第9章Redis监控第10章Redis的缓存设计与优化内容导航:第10章 Redis的缓存设计与优化主讲:* 主审: *Redis缓存的收益和成本缓存雪崩缓存穿透布隆过滤器内容导航:Redis缓存的收益和成本缓存穿透Redis缓存的收益和成本使用Redis作为缓存有以下优点:1, 高速读写Redis可以帮助解决由于数据库压力造成的延迟现象,针对于很少改变的数据并且经常使用的数据,我们可以把这写数据放入内存中。这样可以一方面减少数据库压力,一方面提高读写效率。
3、2, 降低后端负载后端服务器通过缓存降低负载,业务端使用Redis可以降低后端数据库MySQL的负载等。 使用Redis缓存带来的代价:1, 数据不一致程序的缓存层和数据层有时会不一致,这和更新数据策略有关。2, 代码维护成本原本只需要读写MySQL就能实现功能,但加入了Redis缓存之后就要去维护缓存中的数据,增加了代码复杂度。3, 堆内缓存可能带来内存溢出的风险影响用户进程如ehCache、loadingCache、java虚拟机栈、方法区、本地方法栈、程序计数器 。内容导航:缓存雪崩缓存穿透缓存雪崩1,什么是缓存雪崩? 数据未加载到缓存中,或者缓存在同一时间大面积的实效,从而导致所有请求
4、都去查数据库,导致数据库CPU和内存负载过高,甚至数据库宕机。2,有什么解决方案来防止缓存雪崩?a)使用互斥锁(mutex) -使用mutex互斥锁来防止缓存雪崩,使用Redis的SETNX命令去set一个mutex key,当操作返回成功时,再执行查询数据库的操作并回设Redis缓存。否则,就重试执行xget缓存的方法。b)数据预热 - 缓存预热就是应用上线后,将相关的缓存数据直接加载到缓存系统。这样用户就可以直接查询事先被预热的缓存数据。c)双层缓存策略 - Cache1为原始缓存,Cache 2为拷贝缓存,Cache 1失效时,可以访问Cache 2,Cache 1缓存失效时间设置为短期
5、,Cache 2的实效时间设置为长期。d)定时更新缓存策略 - 失效性要求不高的缓存,容器启动初始化加载,采用定时任务更新或移除缓存。e)设置不同的过期时间,让缓存失效的时间点尽量均匀。内容导航:缓存穿透1, 什么是缓存穿透? 缓存就是数据交换的缓冲区。缓存的主要作用是提高查询效率。在企业开发的软件系统中常常使用Redis作为缓存中间件,当请求到达服务器端时,优先查询缓存中的数据,在缓存中不存在时,再查询数据库,如果查询到数据会将数据写回缓存,使得下一次同样的请求能够命中缓存中的数据。一些攻击性请求会特意查询缓存中不存在的数据时,就会产生缓存穿透。 缓存穿透是指查询一个不存在的数据,比如查询的
6、数据如果在缓存Redis没有查询到,需要去数据库查询,如果查询不到数据则不写入缓存,这将导致这个不存在的数据每次请求都到数据库去查询,进而对数据库进行流量冲击造成缓存穿透。缓存穿透缓存穿透内容导航:缓存穿透2,有什么解决方案来防止缓存穿透?a)采用布隆过滤器BloomFilter有关布隆过滤器的相关知识,在下节详细介绍。b)缓存空值如果一个查询返回的数据为空,不管是数据不存在,还是系统故障。程序仍然把这个空结果进行缓存(cache)处理,但它的过期时间会很短,可以不超过五分钟。通过设置的默认值直接存放到缓存中,这样第二次在缓存中就可以查询到值了,而不会继续访问数据库,如下图所示。内容导航:布隆
7、过滤器缓存穿透布隆过滤器简绍维基百科 : 布隆过滤器 布隆过滤器(英语:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。布隆过滤器是由一个很长的bit数组和一系列哈希函数组成的,数组的每个元素都只占1 bit空间,并且每个元素只能为0或1。 布隆过滤器还拥有k个哈希函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第10章 Redis的缓存设计与优化ppt课件完整版 10 Redis 缓存 设计 优化 ppt 课件 完整版
限制150内