`
hbxflihua
  • 浏览: 669830 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

guava cache简单工具类

阅读更多

1、pom文件中引入guava对应的jar

   <dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>17.0</version>
			</dependency>

 

 2、GuavaCacheUtil

import java.math.BigDecimal;

import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
/**
 * guava本地缓存工具类
 * @author lh
 *
 */
public final class GuavaCacheUtil {
	
	private static CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder().maximumSize(2000).initialCapacity(10);
	private static Cache<String, Object> cache;
	static{
		cache =cacheBuilder.build();
	}
	private GuavaCacheUtil() {
	}
	
	/**
	 * 添加缓存
	 * @param key
	 * @param value
	 */
	public static void set(String key, Object value){
		cache.put(key, value);
	}
	
	/**
	 * 删除缓存
	 * @param key
	 */
	public static void del(String key){
		cache.invalidate(key);
	}
	
	/**
	 * 根据key取得缓存对象
	 * @param key
	 * @return
	 */
	public static Object get(String key){
		return cache.getIfPresent(key);
	}
	
	public static String getStr(String key){
		return get(key).toString();
	}
	
	public static int getInt(String key){
		Object value = get(key);
		if(value instanceof Integer){
			return Integer.valueOf(value.toString());
		}
		return 0;
	}
	
	public static BigDecimal getBigDecimal(String key){
		Object value = get(key);
		if(value instanceof BigDecimal){
			return new BigDecimal(value.toString());
		}
		return BigDecimal.ZERO;
	}
	
	
}

 

分享到:
评论

相关推荐

    Springboot整合GuavaCache缓存过程解析

    * 简单:GuavaCache的使用非常简单,只需要在pom.xml文件中添加依赖项,并在配置文件中配置缓存参数。 * 强大:GuavaCache提供了多种缓存策略,包括缓存失效、缓存逐出等,可以满足不同的应用场景。 * 轻量级:Guava...

    Guava-CacheDemo.rar

    4. **CacheBuilder**: 用于构建`LoadingCache`的工具类,提供了丰富的配置选项,如容量限制、过期策略等。 5. **expireAfterWrite** / **expireAfterAccess**: 设置缓存项过期策略,分别基于写入时间和最后访问时间...

    使用google guava 实现定时缓存功能

    在IT行业中,Google Guava库是一个非常强大的工具集,它为Java开发人员提供了一系列实用的集合、缓存、并发和I/O工具。本篇文章将详细探讨如何利用Guava库实现定时缓存功能,以提高应用的性能和效率。 首先,Guava...

    Google的guava实战

    此外,Guava还提供了一系列的集合工具类,比如Iterables和Collections2,能够简化集合操作。 在缓存机制方面,Guava提供了简单易用的缓存实现,这在处理经常需要快速检索但是又可能被更新的数据时非常有用。Guava ...

    google guava

    Google Guava是一个由Google开发并维护的开源Java库,它为Java开发者提供了许多实用的工具类和集合框架,极大地简化了常见的编程任务。这个框架包含了多个模块,如基础(base)、缓存(cache)、I/O(io)以及并发...

    google开源项目guava.jar包

    谷歌的Guava库是Java开发中的一个非常重要的开源项目,它提供了一系列的高效、实用的工具类,大大简化了常见的编程任务。Guava的核心特性包括集合框架、缓存、原生类型支持、并发库、字符串处理、I/O操作等。这个...

    常用工具类常用工具类.zip

    7. **Guava**: Google提供的一个强大的Java库,包含了大量的工具类,如`Preconditions`用于参数检查,`Immutable`类用于创建不可变对象,`Cache`类用于缓存管理等。 8. **SLF4J (Simple Logging Facade for Java)**...

    如何基于LoadingCache实现Java本地缓存

    可以封装一个工具类,提供缓存操作的接口,例如 CacheManager。CacheManager 可以提供缓存项的存储和获取接口,并封装了缓存池大小、缓存项过期时间、缓存项移除监听器等设置。 九、结论 基于 LoadingCache 实现 ...

    Google-guava 19.0

    Guava还包含了一些通用工具类,如Preconditions(用于抛出异常)、Objects(比较对象)、CacheBuilder(构建缓存)等,帮助开发者编写更健壮的代码。 综上所述,Google Guava 19.0版本以其丰富的功能和高效的设计,...

    guava 常用API说明

    Guava是Google开发的一个Java库,它包含许多Google的核心库,如集合、缓存、并发库、原生类型支持、字符串处理、I/O等。...建议开发者在遇到相关需求时,考虑使用Guava提供的工具类和接口,以充分利用其强大功能。

    Guava 16.0 API (CHM格式)

    很多 Guava 的工具类在遇到 null 时会直接拒绝或出错,而不是默默地接受他们。  2. 前提条件:更容易的对你的方法进行前提条件的测试。  3. 常见的对象方法: 简化了Object常用方法的实现, 如 hashCode() 和 ...

    guava-21.0-rc2 、guava-21.0-rc2-javadoc 、guava-21.0-rc2-sources

    Guava是Google开发的一个核心库,它包含许多Java开发中常用和实用的工具类,极大地提高了开发效率。这里提到的"guava-21.0-rc2"、"guava-21.0-rc2-javadoc"和"guava-21.0-rc2-sources"分别代表了Guava库的21.0 ...

    Java整理的基础工具类项目

    Java整理的基础工具类项目 Spring+Redis实现无缝读写分离插入(com.shawntime.utils.rwdb) Redis操作封装(com.shawntime.utils.cache.redis) Redis分布式锁实现(com.shawntime.utils.lock) 读写锁控制强制读取...

    guava-18.0.rar

    Guava 还包含了一些其他实用工具,如 `Strings` 工具类提供了字符串操作的方法,`Preconditions` 用于在代码中进行条件检查,防止程序出错,`Cache` 支持缓存功能,可以高效地存储和检索数据。 Guava 的 `Optional`...

    Google Guava 30.1.1常用类介绍及实践代码

    以上只是 Guava 30.1.1 版本中的一部分核心功能,实际使用中还有许多其他实用工具类,如 `Range`, `EventBus`, `RateLimiter` 等。Guava 的设计目标是提高代码质量和效率,通过提供这些工具类,开发者可以更加专注于...

    google guava 中文教程

    Guava的IO模块提供了流式处理的读写操作,如CharSource和ByteSource,以及Files工具类,可以简化文件操作。例如,Files.copy()方法可以方便地进行文件复制,Charsets类定义了常见的字符编码。 七、原子类与并发原语...

    guava(google的java集合包)

    3. **并发编程支持**:Guava提供了实用的并发工具类,如ListenableFuture、Service和CountDownLatch等,它们简化了多线程环境下的编程,同时增强了同步和异步操作的控制。 4. **函数式编程**:Guava引入了函数式...

Global site tag (gtag.js) - Google Analytics