Map在Java中构造缓存对象的原理及实现
Map在Java中构造缓存对象的原理及实现
gzh412163 发表于4年前
Map在Java中构造缓存对象的原理及实现
  • 发表于 4年前
  • 阅读 227
  • 收藏 0
  • 点赞 0
  • 评论 0

Map在Java中构造缓存对象的原理及实现

在实际的项目中,当我们对于某些数据需要经常去访问的时候,我们一般的做法都是将其数据放置到一个缓存(Cache)对象中去,可以达到使用空间节省时间的效果。同时,缓存的使用,也可以减少我们对硬盘或者数据库的频繁访问。达到了比较理想的效果。

     这就是为什么我们在java中需要对某个对象设置缓存的原因(也即原理)。在Java中最常见的一种实现缓存的方式就是使用Map,而缓存的实现则主要分为三大步骤:

第一:先到缓存里面查找是否有我们需要的对象,若是存在,则直接返回。

第二:若是缓存里面没有该对象,则将其数据添加到缓存中去。以备下次使用。

第三:如果找到了相应的数据,或者是创建了相应的数据,那就直接使用这个数据。

     然而,java中Map对象的key设置为String类型,也是为了查找的方便。   

/**
* Java中缓存的基本实现示例
*/
public class JavaCache {
/**
* 缓存数据的容器,定义成Map是方便访问,直接根据Key就可以获取Value了
* key选用String是为了简单,方便演示
*/
private Map<String,Object> map = new HashMap<String,Object>();

private ObjectDao objectDao = null;//一般这个*Dao对象需要我们注入
/**
* 从缓存中获取值

* @param  key 设置时候的key值
* @return  key对应的Value值
*/
public Object getValue(String key){
/
/先从缓存里面取值
Object obj = map.get(key);

//判断缓存里面是否有值
if(obj == null){
//如果没有,那么就去获取相应的数据,比如读取数据库或者文件
obj = objectDao.getObjectByKey(key);//这个方法是*Dao实现具体数据库查询的时候调用的方法
//把获取的值设置回到缓存里面
map.put(key, obj);
}

//如果有值了,就直接返回使用
return obj;

}
}


共有 人打赏支持
粉丝 2
博文 66
码字总数 12796
×
gzh412163
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: