往redis存入Map时出错提示:WRONGTYPE Operation against a key holding the wrong kind of value;

原因1:

在测试存入数据类型的时候已经保存到了redis,但是我觉得类型不对就更改了存入的数据类型,导致程序再次执行时拿到了刚才执行的同一个key,不同返回类型的脏数据;
在这里插入图片描述

解决办法
删除redis中已经存在的Key,重新执行一下程序,就解决了;

原因2:

  • 存入redis时使用的 redisTemplate.opsForValue().set(key, value);
  • 这里value存的是一个Map<String,String> map类型
  • 取的时候使用 redisTemplate.opsForHash().entries(key) ,以为这样取的就是一个Map数组,然后并不是这样取数据
    解决办法
    使用ValueOperations<String, T> operation = redisTemplate.opsForValue();来取数据,会自动转化成Map

总结:仰天大笑出门去,我辈岂是蓬蒿人

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐