memcache取出的数据完全乱了
我发现 memcache有个问题;情况一:
内网:
比如A机器是memcache服务器,B机器是应用服务器;
我的程序部署在B服务器上;页面的数据是从A机器的memcache中获取的。
index.jsp页面代码:
communityList=(List<WmCommunity>) MemCachedManager.get("index-communityList");
if(communityList==null){
communityList=dynamicService.findWmCommunity(5);
MemCachedManager.set("index-communityList", communityList, new Date(Constants.MEMCACHEDATE));
}
personList=(List<Map>) MemCachedManager.get("index-personList");
if(personList==null){
personList=dynamicService.findWmPersonInfo(5);
MemCachedManager.set("index-personList", personList, new Date(Constants.MEMCACHEDATE));
}
companyList=(List<Map>) MemCachedManager.get("index-companyList");
if(companyList==null){
companyList=dynamicService.findWmCompanyInfo(5);
MemCachedManager.set("index-companyList", companyList, new Date(Constants.MEMCACHEDATE));
}
我F5狂刷新;index.jsp页面;发现 memcache取出的数据全部乱了;得到的值不对!
比如:communityList 获取的结果 居然是 personList 的值。
情况二:
当我把memecache装到我本地;访问本地的memcache;不管怎么刷都不会出现问题。
请各位大神帮忙啊! 困惑了好久了!
--------------------编程问答-------------------- --------------------编程问答-------------------- communityList 获取的结果 居然是 personList 的值。
怎么可能呢,如果读取到的是personList ,那么List<Map>在强制转换成List<WmCommunity>的时候就会报错,你还能读取成personList?
补充:Java , Java EE