java 用redisTemplate 的 Operations存取list集合

Posted zhuyeshen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 用redisTemplate 的 Operations存取list集合相关的知识,希望对你有一定的参考价值。

一 、存取为list类型

  1. @RestController
  2. @RequestMapping("/test")
  3. @Slf4j
  4. public class TestController
  5.  
  6. @Autowired
  7. private RedisTemplate redisTemplate;
  8.  
  9. @ApiOperation("redis-savelist")
  10. @PostMapping("/redis/save/list")
  11. public void redisSaveList()
  12. List<Person> list = getPersonList();
  13. //清空
  14. while (redisTemplate.opsForList().size("oowwoo") > 0)
  15. redisTemplate.opsForList().leftPop("oowwoo");
  16. //存储
  17. redisTemplate.opsForList().rightPushAll("oowwoo", list);
  18.  
  19. //取出
  20. List<Person> oowwoo = redisTemplate.opsForList().range("oowwoo", 0, -1);
  21. log.info(">>>>>>>>>>>>>>>list = ", oowwoo.toString());
  22. Iterator<Person> it = oowwoo.iterator();
  23. while(it.hasNext())
  24. Person p = it.next();
  25. log.info("person = ", p.toString());
  26.  
  27. private List<Person> getPersonList()
  28. Person p1 = new Person();
  29. p1.setId(1L);
  30. p1.setName("张一");
  31. p1.setAge(11);
  32.  
  33. Person p2 = new Person();
  34. p2.setId(2L);
  35. p2.setName("张二");
  36. p2.setAge(22);
  37.  
  38. Person p3 = new Person();
  39. p3.setId(3L);
  40. p3.setName("张三");
  41. p3.setAge(33);
  42.  
  43. List<Person> list = new ArrayList<>();
  44. list.add(p1);
  45. list.add(p2);
  46. list.add(p3);
  47. return list;

 

二 、将list转为json对象存取

  1. import com.alibaba.fastjson.JSON;
  2. import com.alibaba.fastjson.JSONObject;
  3.  
  4.  
  5. @Autowired
  6. private StringRedisTemplate stringRedisTemplate;
  7.  
  8. //存
  9. List<Long> businessIdList = eeFreecarriageShopService.selectBusinessIdInPromotion();
  10. stringRedisTemplate.opsForValue().set(RedisConstants.FREECARRIAGE_BUSINESSIDLIST, JSON.toJSON(businessIdList).toString());
  11.  
  12. //取
  13. String businessJsonArray = stringRedisTemplate.opsForValue().get(RedisConstants.FREECARRIAGE_BUSINESSIDLIST);
  14. List<Long> businessIdList = JSONObject.parseArray(businessJsonArray, Long.class);

 
java 用redisTemplate 的 Operations存取list集合

以上是关于java 用redisTemplate 的 Operations存取list集合的主要内容,如果未能解决你的问题,请参考以下文章

redisTemplate的实操演练

RedisTemplate在java哪个包下面

java通过redisTemplate封装redis3.2.9工具类

关于RedisTemplate和StringRedisTemplate(转)

redistemplate连接池用完了不需要返回吗

在Java中使用redisTemplate操作缓存