java 获取redis hashmap_HashMap与redis在项目中的应用

刚从.net转java三个月,这里记录一下在java项目中使用缓存的学习。

因为项目之前的开发人员离职了,在之前的项目上进行维护,对应从来没有接触过java的小白,只能自己多看多理解多动手了。

这个项目原来是没有用java真正意义上的缓存,而是用的静态的HashMap,但是在性能测试的过程中出现了死锁的过程,因为hashmap是不安全的线程,建议使用ConcurrentHashMap这个和.net的Dictonary很像。因为性能测试不通过,所以后来加了redis,其实java的一级缓存ehcache也是很好的,因为项目到了后期阶段,项目时间紧就没改ehcahe(这个.net的asp.net cache一样)。

言归正传:

hashmap的使用方法:

首先定义一个InitCacheData类,里面填充各种属性和方法。

59afd7378c2caf35c94cc6d0396614fa.png

建议用这种

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

public classInitCacheData {private staticInitCacheData instance;privateInitCacheData() {

}/**

* description 单例模式

* @param @return

* @return InitCacheData*/

public staticInitCacheData getInstance() {

synchronized (InitCacheData.class) {if (instance == null) {

instance= newInitCacheData();

}returninstance;

}

}/**

* 初始化数据的缓存,key:数据类型,value:数据(key:实体类主键的值,value对应的实体类)*/

private Map> cacheData = new HashMap>();private Map>> cacheTreeData = new HashMap>>();private Map> cacheItemMappingData = new HashMap>();private Map> cacheAnswerData = new ConcurrentHashMap>();private Map> projectItemData = new HashMap>();/**

* @description 初始化数据的类型*/

public enumCacheType {

CLASS, MAJOR, COLLEGE, COURSE,USER_INFO,KNOW_POINT,STUDENT,TEACHER,ITEMMAPPING,PARAMETER_TYPE,TRDCO,ANSWER,PROJECTITEM,BASEITEMS

};public MapgetCacheDa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值