java读缓存_java 缓存读写

packagecom.castalia.market.blh.impl;importjava.io.Serializable;importjava.net.URL;importjava.util.ArrayList;importjava.util.List;importorg.apache.log4j.Logger;importorg.springframework.stereotype.Component;importnet.sf.ehcache.Cache;importnet.sf.ehcache.CacheManager;importnet.sf.ehcache.Element;importcom.castalia.market.blh.IgetCampaignPrizeFromCacheBlh;importcom.castalia.market.vo.CampaignPrizeRange;

@Componentpublic class getCampaignPrizeFromCacheBlhImpl implementsIgetCampaignPrizeFromCacheBlh {private static final Logger logger = Logger.getLogger(getCampaignPrizeFromCacheBlhImpl.class);privateCache cache;publicgetCampaignPrizeFromCacheBlhImpl()

{

URL url= CampaignPrizeCacheBlhImpl.class.getClassLoader().getResource("/config/ehcache.xml");

CacheManager manager= newCacheManager(url);

logger.info(manager.getName());

cache= manager.getCache("sampleCache2");

}

@Overridepublic synchronized String getCampaignPrizeFromCache(String key, intnum) {//TODO Auto-generated method stub

StringBuilder Hashcodes=newStringBuilder();

logger.info("取缓存的键:"+key);try{

Element result=cache.get(key);if(result==null)

{

logger.info("取缓存的键值: CacheNull");return "CacheNull";

}

@SuppressWarnings("deprecation")

List CampaignPrizeRanges=(List)result.getValue();

String ServerIndex=key.substring(0,2);int index=0;

List RemoveCampaignPrizeRanges=new ArrayList();

tag:for(CampaignPrizeRange e :CampaignPrizeRanges)

{for (long i=e.getStartValue();i<=e.getEndValue();i++)

{if(index>=num)

{

e.setStartValue(i);breaktag;

}else{

Hashcodes.append(ServerIndex+String.format("%06d", i)+",");

index++;

}

}

RemoveCampaignPrizeRanges.add(e);

}if(index!=num)

{

logger.info("取缓存的键值: Lack");return "Lack";

}else{for(CampaignPrizeRange e :RemoveCampaignPrizeRanges)

{

CampaignPrizeRanges.remove(e);

}if(Hashcodes.length()>0)

{

saveToCache(key,CampaignPrizeRanges);

}else{

logger.info("取缓存的键值: ");return "";

}

}

}catch(Exception e)

{return "Error";

}

String keyValue=Hashcodes.substring(0,Hashcodes.length()-1);

logger.info("取缓存的键值:"+keyValue);returnkeyValue;

}

@Overridepublic synchronized voidsaveToCache(String key,Object Value )

{

logger.info("进入锁保存数据键:"+key);try{//添加数据到缓存中

Element element = newElement(key, (Serializable)Value);

cache.put(element);

logger.info("保存成功");

}catch(Exception e)

{

logger.info(e.getMessage());

}

}

@OverridepublicString get(String key){

Element result=cache.get(key);if(result==null)

{return "CacheNull";

}

@SuppressWarnings("deprecation")

String ret=(String) result.getValue();returnret;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值