redis中是没有Long类型
redis中没有Long类型,存储进去后取出来会是
Interger类型
。需要自行转化,不可直接强转。否则将CCE。
private <T> T getObject(String key, Class<T> clazz, boolean updateLive, long timeout, TimeUnit unit) {
Assert.notNull(key, "查询key值不能为null");
if (isExist(key)) {
Object valueObj = redisTemplate.opsForValue().get(key);
if (updateLive) {
redisTemplate.expire(key, timeout, unit);
}
if (clazz.isInstance(valueObj)) {
return (T) valueObj;
} else if (clazz == Long.class && valueObj instanceof Integer) {
Integer obj = (Integer) valueObj;
return (T) Long.valueOf(obj.longValue());
} else {
logger.warn("object type is " + valueObj.getClass().getName() + ", which can not cast to "
+ clazz.getName());
}
}
return null;
}
~
正文到此结束
热门推荐
相关文章
广告是为了更好的提供数据服务