![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
缓存
文章平均质量分 88
圣小童
向着目标不断前进
展开
-
Guava Cache介绍
背景 项目中需要使用到很多个DataSource,就想着用一个LRU的算法来进行缓存。刚开始自己用LinkedHashMap,synchronized关键字实现了一个LRU的缓存类。但是被老大鄙视了,说还是google大法好,而且效率肯定也比我的高。好吧,所以就去学习了一个guava Cache的使用。 本篇文章主要是参考的是官方文档,有兴趣的同学可以自行去阅读。 Gua原创 2017-12-19 21:13:50 · 1117 阅读 · 0 评论 -
缓存几个重要概念
缓存失效 平时设定一个缓存的过期时间时,可能有一些会设置1分钟、5分钟这些,并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间都一样,这个时候就可能引发一当过期时间到后,这些缓存同时失效,请求全部转发到DB,DB可能会压力过重。 解决思路: 将缓存失效时间分散开,比如可以在原有的失效时间基础上增加一个随机值,比如1-5分钟随机,这样每一个缓存的过期时间的重复率就会原创 2017-11-27 21:23:34 · 353 阅读 · 0 评论 -
Guava cache介绍
Guava是谷歌开源的java工具类jar包,是Google的java核心库,许多java项目都依赖它。Guava包括:集合collections, 缓存caching,原生类型primitives support,并发库concurrency libraries,通用注解common annotations等等。 Guava cache 中文文档:http://ifeve.com/goo原创 2017-12-06 20:38:56 · 494 阅读 · 0 评论 -
Spring缓存使用介绍
1. 不使用框架的缓存方案 第三方的缓存实现已经有很多,有 guava cache、redis、tair等,它们解决的是缓存的底层问题。 在不使用框架的情况下,参考之前的wikiGuava cache,在项目直接使用内存缓存。 在业务逻辑比较简单时,使用这种方式简答可靠,实现成本较低。不过在业务场景比较复杂的场景下,这种使用方式的缺点有 缓存逻辑与业务逻辑紧耦合替换第三方缓原创 2017-12-06 21:13:14 · 2412 阅读 · 0 评论