redis中如何保存类似List 这样的对象

Kien.tang 2018-10-23 10:12:14
spring boot结合redis时,如何将保存List<Emp>这样的一组对象,好像如果使用StringRedisTemplate的话,在往redis中缓存时,必须将List格式化成String,这样导致的结果是在获取该List时,里面的对象变成了LinkedHashMap,有大神有教一下的吗
...全文
1220 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
朝霞清辉 2019-09-11
  • 打赏
  • 举报
回复
十八道胡同 2018-10-24
  • 打赏
  • 举报
回复
引用 4 楼 Kien_tang 的回复:
[quote=引用 3 楼 LCL_data 的回复:]
redis 里面是存string的,
你的List<Emp>可以序列化为json 格式的string的
保存的话是没有问题的,我现在用的案例就是将list用ObjectMapper类格式化为String,存在的问题是,从redis中获取这个value后,list中的对象变成了LinkedHashMap,而不是对象了[/quote]

获取value之后的代码贴下
Kien.tang 2018-10-24
  • 打赏
  • 举报
回复
引用 3 楼 LCL_data 的回复:
redis 里面是存string的, 你的List<Emp>可以序列化为json 格式的string的
保存的话是没有问题的,我现在用的案例就是将list用ObjectMapper类格式化为String,存在的问题是,从redis中获取这个value后,list中的对象变成了LinkedHashMap,而不是对象了
十八道胡同 2018-10-24
  • 打赏
  • 举报
回复
https://blog.csdn.net/bcqtt/article/details/72286359
Kien.tang 2018-10-24
  • 打赏
  • 举报
回复
引用 5 楼 LCL_data 的回复:
[quote=引用 4 楼 Kien_tang 的回复:] [quote=引用 3 楼 LCL_data 的回复:] redis 里面是存string的, 你的List<Emp>可以序列化为json 格式的string的
保存的话是没有问题的,我现在用的案例就是将list用ObjectMapper类格式化为String,存在的问题是,从redis中获取这个value后,list中的对象变成了LinkedHashMap,而不是对象了[/quote] 获取value之后的代码贴下[/quote]第一步是我从redis里取出的值,我用的方法是List<String> list = stringRedisTemplate.opsForList().range(key, 0, -1); 第二步是我将List<String>中的String使用objectMapper.readValue转换为List,此时List里的对象就没了
十八道胡同 2018-10-23
  • 打赏
  • 举报
回复
redis 里面是存string的,
你的List<Emp>可以序列化为json 格式的string的
Kien.tang 2018-10-23
  • 打赏
  • 举报
回复
引用 1 楼 CEOCAO 的回复:
RedisTemplate redisTemplate; redisTemplate.opsForValue().set(roleId+roleName,menuList); RedisTemplate试试这个呢?
我刚试了,在往redis中写入时不报错,不过数据会有问题
咸哼酒家 2018-10-23
  • 打赏
  • 举报
回复
RedisTemplate redisTemplate;
redisTemplate.opsForValue().set(roleId+roleName,menuList);

RedisTemplate试试这个呢?

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧