There is a ClassCastException when reading data from reids, but the actual quantity type is correct, and this happens for a period of time. After restarting the service, the problem is solved, but it appears again in some days!
``` @Configuration
public class RedisConfig {
/**
* FastJson序列化
*
* @param factory
* @return
* @author Hes
*/
@Bean
public RedisTemplate fastJsonRedisTemplate(RedisConnectionFactory factory) throws Exception {
RedisTemplate redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(factory);
FastJsonSerializer serializer = new FastJsonSerializer<Object>(Object.class);
redisTemplate.setValueSerializer(serializer);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
/**
* fst序列化
*
* @param factory
* @return
* @author Hes
*/
@Bean
public RedisTemplate<String, Object> fstRedisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
FSTSerializer<Object> serializer = new FSTSerializer<>();
redisTemplate.setDefaultSerializer(serializer);
redisTemplate.setKeySerializer(RedisSerializer.string());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
公共静态列表搜索(String orgNo) {
List<DataMap> datas = RedisKit.getMapValue(CACHE_AREA, orgNo);
return datas;
}
公共静态T getMapValue(String cacheKey,String valueKey) {
T t = null;
if (StrUtil.isNotBlank(cacheKey) && redisTemplate != null) {
t = (T) redisTemplate.opsForHash().get(cacheKey, valueKey);
}
return t;
}
** 2022-02-23 09:01:08.405 http-nio-22000-exec-6 ERROR com.hnmqet.framework.exception.ExceptionCatch - catch exception:java.lang.ClassCastException: java.lang.String不能在com.hnmqet.jail.base.service.area.impl.AreaMainServiceImpl.listAreaMain(AreaMainServiceImpl.java:83) at com.hnmqet.jail.base.service.area.impl.AreaMainServiceImpl.listAreaGroup(的java.util.List上转换为java.util.Listcom.hnmqet.jail.base.service.area.impl.AreaMainServiceImpl$$FastClassBySpringCGLIB$$6f19d178.invoke()** ( AreaMainServiceImpl.java:161)
发布于 2022-03-24 07:36:07
您是否确实找到了导致此异常的"orgNo“?如果是这样的话,您应该检查哈希映射中的相关"orgNo“键的值。您可以使用以下命令从CLI执行此操作:https://redis.io/commands/hget/
我想有些测试数据并没有像预期的那样写入Redis。
https://stackoverflow.com/questions/71462256
复制相似问题