高手进,memcache 问题,很诡异.......
异常:
2015-04-10 21:16:34,285 ERROR [com.alisoft.xplatform.asf.cache.memcached.MemcachedCache] - mclient0 cluster get error
com.alisoft.xplatform.asf.cache.memcached.MemcachedException: sock is null
at com.alisoft.xplatform.asf.cache.memcached.client.MemCachedClient.get(MemCachedClient.java:1357)
at com.alisoft.xplatform.asf.cache.memcached.client.MemCachedClient.get(MemCachedClient.java:1296)
at com.alisoft.xplatform.asf.cache.memcached.MemcachedCache.get(MemcachedCache.java:272)
at com.alisoft.xplatform.asf.cache.memcached.MemcachedCache.get(MemcachedCache.java:23)
at com.casino.poker.util.MemcacheUtil.get(MemcacheUtil.java:42)
at com.casino.poker.service.impl.PlayerService.qryPlayerInfo(PlayerService.java:59)
at com.casino.poker.service.impl.PlayerService.qryPlayerInfo(PlayerService.java:50)
at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
代码
public PlayerInfo qryPlayerInfo(int playerID,boolean isDb) {
if (isDb) {
PlayerInfo plInfo = playerMapper.qryPlayerInfo(playerID);
return plInfo;
} else {
Object obj = MemcacheUtil.get(PLAYER_KEY + playerID); // 此行获取memcache缓存为空,但是使用快捷键 Ctrl + shift +i 快捷键查看,能获取memcache缓存中的值,好诡异
if (obj != null && obj instanceof PlayerInfo) {
return (PlayerInfo) obj;
} else {
PlayerInfo plInfo = playerMapper.qryPlayerInfo(playerID);
if (plInfo != null) {
MemcacheUtil.add(PLAYER_KEY + playerID, plInfo);
}
return plInfo;
}
}
}