缓存
文章平均质量分 90
Lvshen的技术小屋
技术宅
展开
-
聊聊什么是缓存雪崩和缓存穿透
缓存雪崩 假如一个系统,它在高峰期有每秒7000个请求,这时我们使用缓存抗住了这么高的请求。但如果在某个时间点缓存大量失效,或者缓存服务器挂掉了,那么这些请求就会直接作用在普通数据库中(如MySQL)。这么高的请求量,MySQL肯定抗不住,进而挂掉,数据库一挂,也会导致系统挂掉。 我们总结缓存雪崩触发的条件: “ 高并发情况下 缓存服务器挂了 大量缓存集中失效 ” 导致的后果就是:系统崩溃。 解决思路,对数据库增加限流排队访问,假设我们的数据库最多能抗住每秒200原创 2021-03-30 14:45:56 · 322 阅读 · 0 评论 -
Google的这个本地缓存真好用
在平时的开发中,我们会经常用到字典,比如我们数据库里面存的是设备编码,展示需要的是设备名称;数据库中存的是用户id,展示的是用户名称。这样的字段我们会频繁的调用,那么就会频繁的查询数据库,为了保证访问速度,我们会使用缓存。但是如果使用Redis之类的中间件缓存,又有点大材小用。当然我们也可以自己将需要的数据存入Map中,但是要考虑Map的预计容量,数据缓存的时间等等。这样对Map的设计就比较麻烦。 这里我推荐Google的类库框架Guava里面的本地缓存。 使用前我们先引用Guava的Maven依赖:原创 2020-12-11 15:48:43 · 405 阅读 · 0 评论 -
利用AOP自定义Redis缓存注解
背景 在查询类开发中我们有使用缓存的场景,一般可以使用Redis作为缓存,来缓解数据库如MySQL的压力。使用缓存的步骤为: “ (1)从Redis缓存中获取数据,如果存在数据,直接返回值。 (2)如果不存在,执行数据库的查询方法 (3)将数据库中的值放入缓存 ” NO CODE NO BB,代码如下 //a.从缓存中获取 Stringvalue=redisTemplate.opsForValue().get(key); if(value!=null){ log.info...原创 2020-09-03 13:55:52 · 318 阅读 · 0 评论