2.本地缓存

来源:互联网 发布:360浏览器mac版 编辑:程序博客网 时间:2024/06/01 19:10

为什么要有本地缓存?

在系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据或者一些数据字典等),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减少无谓的数据库访问(数据库访问占用数据库连接,同时网络消耗比较大),但是有一点需要注意,就是缓存的占用空间以及缓存的失效策略。

所谓的本地缓存是相对于网络而言的(包括集群,数据库访问等)


Java本地缓存标准

Java缓存新标准(javax.cache),这个标准由JSR107所提出,已经被包含在Java EE7中。

特性:

1.原子操作,跟java.util.ConcurrentMap类似

2.从缓存中读取

3.写入缓存

4.缓存事件监听器

5.数据统计

6.包含所有隔离(ioslation)级别的事务

7.缓存注解(annotations)

8.保存定义key和值类型的泛型缓存

9.引用保存(只适用于堆缓存)和值保存定义

public class CacheManager {

//一个本地的缓存Map

private Map localCacheStore =new HashMap();

//一个私有的对象,非懒汉模式

private static CacheManager cacheManager =new CacheManager();

//私有构造方法,外部不可以new一个对象

private CacheManager(){

}

//静态方法,外部获得实例对象

public static CacheManager getInstance(){

return cacheManager;

}

//获得缓存中的数据

public Object getValueByKey(String key){

return localCacheStore.get(key);

}

//向缓存中添加数据

public void putValue(String key ,Object value){

localCacheStore.put(key, value);

}

}


原创粉丝点击