Guava Cache 工具类
maven依赖
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>23.0</version>
- </dependency>
- import com.google.common.cache.Cache;
- import com.google.common.cache.CacheBuilder;
- import com.google.common.cache.RemovalListener;
- import com.google.common.cache.RemovalNotification;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.util.List;
- import java.util.concurrent.TimeUnit;
- public class CacheMap {
- private static final Logger log = LoggerFactory.getLogger(CacheMap.class);
- /**
- * @desction: 使用google guava缓存处理
- */
- private static Cache<String,Object> cache;
- static {
- cache = CacheBuilder.newBuilder().maximumSize(10000)
- .expireAfterWrite(24, TimeUnit.HOURS)
- .initialCapacity(10)
- .removalListener(new RemovalListener<String, Object>() {
- @Override
- public void onRemoval(RemovalNotification<String, Object> rn) {
- if(log.isInfoEnabled()){
- log.info("被移除缓存{}:{}",rn.getKey(),rn.getValue());
- }
- }
- }).build();
- }
- /**
- * @desction: 获取缓存
- */
- public static Object get(String key){
- return StringUtils.isNotEmpty(key)?cache.getIfPresent(key):null;
- }
- /**
- * @desction: 放入缓存
- */
- public static void put(String key,Object value){
- if(StringUtils.isNotEmpty(key) && value !=null){
- cache.put(key,value);
- }
- }
- /**
- * @desction: 移除缓存
- */
- public static void remove(String key){
- if(StringUtils.isNotEmpty(key)){
- cache.invalidate(key);
- }
- }
- /**
- * @desction: 批量删除缓存
- */
- public static void remove(List<String> keys){
- if(keys !=null && keys.size() >0){
- cache.invalidateAll(keys);
- }
- }
- }
Guava Cache 工具类的更多相关文章
- Guava Cache 工具类 [ GuavaCacheUtil ]
pom.xml <dependency> <groupId>com.google.guava</groupId> <artifactId>guava&l ...
- Cache 工具类
package com.thinkgem.jeesite.common.utils; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheM ...
- Guava 常用工具类
引入guava包: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava ...
- apache-commons和guava的工具类
apache-commons工具类:https://www.iteye.com/blog/zhoualine-1770014 guava工具类:https://blog.csdn.net/Dream_ ...
- Google Guava Cache 全解析
Google guava工具类的介绍和使用https://blog.csdn.net/wwwdc1012/article/details/82228458 LoadingCache缓存使用(Loadi ...
- Guava 开源工具的简单介绍
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libra ...
- Jeesite的cahche工具类
本CacheUtils主要是基于shiro的cache进行处理. 其他选择: 类似的我们可以选择java cache ,spring cahche等方案. 再进一步 ...
- java JedisUtils工具类
package com.sh.xrsite.common.utils; import java.util.List; import java.util.Map; import java.util.Se ...
- Redis工具类
/** * Copyright © 2012-2016 * <a href="https://github.com/thinkgem/smkj">smkj</a& ...
随机推荐
- shell基础知识之 stdin,stdout,stderr和文件描述符
stdin,stdout,stderr stdin=0 stdout=1 stderr=2 使用tee来传递内容,把stdout 作为stdin 传到下个命令 root@172-18-21-195:/ ...
- jvm 性能调优工具之 jmap 命令详解
jmap名称:Java Memory Map(内存映射) 官方文档:https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html ...
- Maya编程——沿Curve绘制圆柱
操作流程: 1. VS运行代码,生成插件 2. 打开Maya绘制曲线,加载插件 3. 选中绘制的曲线,运行插件 Posts1.0 代码: #include <maya/MSimple.h> ...
- c# – Asp.Net Core MVC中Request.IsAjaxRequest()在哪里?
要了解有关新的令人兴奋的Asp.Net-5框架的更多信息,我正在使用最新发布的Visual Studio 2015 CTP-6来构建一个Web应用程序. 大多数事情看起来真的很有希望,但我似乎找不到R ...
- Appium 中使用 pressKeyCode 方法不起作用也没有报错
为了使 appium 支持 Android 系统 7 及以上,automationName 使用了 UIAutomator2.但是发现,使用androidDriver.pressKeyCode(And ...
- Oracle中恢复drop掉的表中的数据
今天同事不小心把生产上的一张表直接drop掉了,没有做备份,哥们慌的一匹,来找我这个小白来帮忙解决,于是心血来潮简单总结一下. 其实在oralce中,用drop删掉一张表,其实不会真正的删除,只是把表 ...
- 22 Maven高级应用
1.Maven基础知识回顾 maven是一个项目管理工具.依赖管理:maven对项目中的jar包的管理过程.传统的工程我们直接将jar包放置到项目中. maven工程真正的jar包放置在仓库中,项目中 ...
- openjudge4979 - 海贼王之伟大航路 题解
原题链接 题目简要分析 N个点,从1号点到N号点求最短路径,且每个点都要遍历到.现在要你求出最优方案. 这道题看到后,首先的想法莫过于搜索.暴力了.这显然不太可能.而进一步思考,使用Floyed和Di ...
- Redis初识01 (简介、安装、使用)
一.Reids介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...
- SQL语句报错:You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near
报错如图: 最开始其实我的列名tname和tsubject分别叫name和subject,后来看到网上有说这个报错可能是数据库建表的时候使用了mysql的关键词,我就只把name改了.后来还是这个问题 ...