缓存问题解决方案汇总
缓存问题解决方案汇总
Crzayliyang-架构Young
Java开发, 全栈开发, 大数据开发
展开
-
缓存问题(五) Redis 缓存过期删除机制
视频地址: https://www.bilibili.com/video/BV1Ha411c7hB代码地址: https://gitee.com/crazyliyang/video-teaching.git1.删除机制规则Redis 无论有没有设置expire, 都会遵循redis的配置好的删除机制, 规则如下: 默认的规则是 volatile-lru 设置了expire的key, 将会在过期时间到后删除; 没有设置expire的缓存key,不会被删除; ...原创 2020-11-11 09:59:19 · 2051 阅读 · 0 评论 -
缓存问题(四) 缓存穿透、缓存雪崩、缓存并发 解决案例
视频地址: https://www.bilibili.com/video/BV1Ha411c7hB代码地址: https://gitee.com/crazyliyang/video-teaching.git1. 缓存穿透 解决案例使用布隆过滤器核心代码, 使用 Redisson 库的布隆过滤器: org.redisson.api.RBloomFilter<!-- Redis 客户端工具 redisson 实现对 Redisson 的自动化配置--...原创 2020-11-10 23:54:53 · 567 阅读 · 1 评论 -
缓存问题(三) 缓存穿透、缓存雪崩、缓存并发 解决方案分析
代码地址: https://gitee.com/crazyliyang/video-teaching.git视频地址: https://www.bilibili.com/video/BV1Ha411c7hB1. 缓存穿透缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。查询一个根部不存在的Key, 必然就会每次都去查询.原创 2020-11-10 23:53:04 · 250 阅读 · 0 评论 -
缓存问题(二) 布隆过滤器(Bloom Filter) 介绍和原理
代码地址: https://gitee.com/crazyliyang/video-teaching.git视频地址: https://www.bilibili.com/video/BV1Ha411c7hB1. 什么情况下需要布隆过滤器?先来看几个比较常见的例子检查一个用户是否在白名单中 在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上 在网络爬虫里,一个网址是否被访问过 yahoo, gmail等邮箱垃圾邮件过滤功能这几个例子有一个共同的特点: 如何判断一个元素是否存在一个集合.原创 2020-11-10 23:51:20 · 315 阅读 · 0 评论 -
缓存问题(一) 缓存穿透、缓存雪崩、缓存并发 核心概念
1. 缓存穿透缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。查询一个根部不存在的Key, 必然就会每次都去查询数据库,而每次查询都是空,每次又都不会进行缓存。假如有恶意攻击,就可以利用这个漏洞,对数据库造成压力,甚至压垮数据库....原创 2020-11-10 23:46:28 · 211 阅读 · 0 评论