前言:
现在朋友们对“java 本地缓存工具”大约比较注意,各位老铁们都想要学习一些“java 本地缓存工具”的相关文章。那么小编同时在网上汇集了一些对于“java 本地缓存工具””的相关知识,希望咱们能喜欢,小伙伴们快快来学习一下吧!ExpiringMap介绍
应用程序中引入缓存能够降低数据库方面的压力,比如常用的Redis缓存中间件。但是在有些小场景下,使用Redis不仅增加了系统的复杂性和不确定性,还有点大材小用。而ExpiringMap适合缓存那些被频繁查询以及数据量不是很大的数据信息。它具有如下功能:
可以设置存储元素的过期时间;可设置最大的数据元素存储量;设置过期协议,过期协议分有两种:ExpirationPolicy.CREATED和ExpirationPolicy.ACCESSED。它俩之间的区别:前者在每次更新元素时,过期时间同时清零;后者是在每次访问元素时,过期时间同时清零。
根据ExpiringMap的这些功能,也可以看出它能够合理的使用Java内存。
接下来通过代码案例来进一步揭开该API的神秘面纱。
代码案例首先引入maven依赖:
<dependency> <groupId>net.jodah</groupId> <artifactId>expiringmap</artifactId> <version>0.5.8</version></dependency>然后实现缓存功能的代码如下:
private static final ExpiringMap<String,JSONObject> cacheMap = ExpiringMap.builder() //设置最大的数据元素存储量 .maxSize(1000) //设置存储元素的过期时间,比如120秒 .expiration(120, TimeUnit.SECONDS) //设置过期协议 .expirationPolicy(ExpirationPolicy.CREATED) .variableExpiration() .build();
//本地缓存存在要查询的数据,就立刻返回if(cacheMap.containsKey(id)) { return cacheMap.get(id);}//本地缓存不存在,再查询数据库,然后加入本地缓存JSONObject json = wapOpenAppDao.queryWapOpenAppConfig(id);cacheMap.put(id, json);
你学习到了吗?去在你所负责的项目中应用吧。
作者:杨工,北京互联网公司在职Java开发,专注分享写作干货。关注我,留下你的点赞与评论。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java 本地缓存工具