首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从reids读取数据时有一个ClassCastException

从reids读取数据时有一个ClassCastException
EN

Stack Overflow用户
提问于 2022-03-14 01:48:50
回答 1查看 69关注 0票数 0
代码语言:javascript
运行
复制
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
代码语言:javascript
运行
复制
public class RedisConfig {
代码语言:javascript
运行
复制
    /**
代码语言:javascript
运行
复制
     * 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;
    }
代码语言:javascript
运行
复制
    /**
代码语言:javascript
运行
复制
     * 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) {

代码语言:javascript
运行
复制
    List<DataMap> datas = RedisKit.getMapValue(CACHE_AREA, orgNo);
代码语言:javascript
运行
复制
    return datas;
代码语言:javascript
运行
复制
}

公共静态T getMapValue(String cacheKey,String valueKey) {

代码语言:javascript
运行
复制
    T t = null;
代码语言:javascript
运行
复制
    if (StrUtil.isNotBlank(cacheKey) && redisTemplate != null) {
代码语言:javascript
运行
复制
        t = (T) redisTemplate.opsForHash().get(cacheKey, valueKey);
代码语言:javascript
运行
复制
    }
代码语言:javascript
运行
复制
    return t;
代码语言:javascript
运行
复制
}
代码语言:javascript
运行
复制

** 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)

EN

回答 1

Stack Overflow用户

发布于 2022-03-24 07:36:07

您是否确实找到了导致此异常的"orgNo“?如果是这样的话,您应该检查哈希映射中的相关"orgNo“键的值。您可以使用以下命令从CLI执行此操作:https://redis.io/commands/hget/

我想有些测试数据并没有像预期的那样写入Redis。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71462256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档