- 25
- 0
问题:在对redisTemplate 的配置中使用 JdkSerializationRedisSerializer 序列化方式,和使用 Jackson2JsonRedisSerializer序列化方式遇到问题redis客户端使用 redis Simple 插件jdk 序列化方式,对象能够正常存入取出,但是使用reids客户端查看的数据为乱码redisTemplate配置 @Bean public RedisTemplate<String,Object> redisTemplate() { RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>(); //TODO 设置redis 连接工厂 redisTemplate.setConnectionFactory(redisConnectionFactory); //TODO 指定key 序列化策略为String 序列哈,value 为jdk 自带序列化 redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer()); //修改redis的序列化策略;// redisTemplate.setDefaultSerializer(new Jackson2JsonRedisSerializer<Object>(Object.class)); // TODO 指定hashKey 序列化策略为String 序列化-针对hash散列存储 redisTemplate.setHashKeySerializer(new StringRedisSerializer());// redisTemplate.setHashValueSerializer(new Jackson2JsonRedisSerializer<Object>(Object.class)); return redisTemplate; }redis客户端向map中存入值 private boolean storeSingleHash(String key, String hkey,College value) { try { redisTemplate.opsForHash().put(key,hkey,value); return true; } catch (Exception e) { log.warn("hput {} ={}",key+key,value); } return false; }取出 for (Object element : set) { College college = (College) redisTemplate.opsForHash().get(hashKey, element); result.add(college); }jackson 序列化方式 redis客户端能够正常看到非乱码数据,但是向hash中放入一个对象,取出来就变成了linkeMap ,出现了类型转换异常客户端redisTeamplate配置 @Bean public RedisTemplate<String,Object> redisTemplate() { RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>(); //TODO 设置redis 连接工厂 redisTemplate.setConnectionFactory(redisConnectionFactory); //TODO 指定key 序列化策略为String 序列哈,value 为jdk 自带序列化 redisTemplate.setKeySerializer(new StringRedisSerializer());// redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer()); //修改redis的序列化策略; redisTemplate.setDefaultSerializer(new Jackson2JsonRedisSerializer<Object>(Object.class)); // TODO 指定hashKey 序列化策略为String 序列化-针对hash散列存储 redisTemplate.setHashKeySerializer(new StringRedisSerializer());// redisTemplate.setHashValueSerializer(new Jackson2JsonRedisSerializer<Object>(Object.class)); return redisTemplate; }向map中存入值 private boolean storeSingleHash(String key, String hkey,College value) { try { redisTemplate.opsForHash().put(key,hkey,value); return true; } catch (Exception e) { log.warn("hput {} ={}",key+key,value); } return false; }取出 for (Object element : set) { College college = (College) redisTemplate.opsForHash().get(hashKey, element); result.add(college); }异常java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to edu.dlu.bysj.base.model.entity.College请问这是什么原因造成的是我的redis配置不正确吗? 使用jdk的序列化方式我没法很好的看到redis中值得变化,使用jackson的序列化方式,取值感觉又不太正确,请问我该如何解决这个问题
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

