java 用redisTemplate 的 Operations存取list集合
一 、存取为list类型
- @RestController
- @RequestMapping("/test")
- @Slf4j
- public class TestController {
- @Autowired
- private RedisTemplate redisTemplate;
- @ApiOperation("redis-savelist")
- @PostMapping("/redis/save/list")
- public void redisSaveList() {
- List<Person> list = getPersonList();
- //清空
- while (redisTemplate.opsForList().size("oowwoo") > 0){
- redisTemplate.opsForList().leftPop("oowwoo");
- }
- //存储
- redisTemplate.opsForList().rightPushAll("oowwoo", list);
- //取出
- List<Person> oowwoo = redisTemplate.opsForList().range("oowwoo", 0, -1);
- log.info(">>>>>>>>>>>>>>>list = {}", oowwoo.toString());
- Iterator<Person> it = oowwoo.iterator();
- while(it.hasNext()){
- Person p = it.next();
- log.info("person = {}", p.toString());
- }
- }
- private List<Person> getPersonList() {
- Person p1 = new Person();
- p1.setId(1L);
- p1.setName("张一");
- p1.setAge(11);
- Person p2 = new Person();
- p2.setId(2L);
- p2.setName("张二");
- p2.setAge(22);
- Person p3 = new Person();
- p3.setId(3L);
- p3.setName("张三");
- p3.setAge(33);
- List<Person> list = new ArrayList<>();
- list.add(p1);
- list.add(p2);
- list.add(p3);
- return list;
- }
- }
二 、将list转为json对象存取
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- @Autowired
- private StringRedisTemplate stringRedisTemplate;
- //存
- List<Long> businessIdList = eeFreecarriageShopService.selectBusinessIdInPromotion();
- stringRedisTemplate.opsForValue().set(RedisConstants.FREECARRIAGE_BUSINESSIDLIST, JSON.toJSON(businessIdList).toString());
- //取
- String businessJsonArray = stringRedisTemplate.opsForValue().get(RedisConstants.FREECARRIAGE_BUSINESSIDLIST);
- List<Long> businessIdList = JSONObject.parseArray(businessJsonArray, Long.class);
java 用redisTemplate 的 Operations存取list集合
java 用redisTemplate 的 Operations存取list集合的更多相关文章
- Java——(四)Collection之Set集合TreeSet类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- TreeSet类 TreeSet是SortedSet接口的实现类,正如SortedSet名字所暗 ...
- 对Java通配符的个人理解(以集合为例)
对Java通配符的个人理解(以集合为例) 前言:最近在学习Java,当学到了泛型的通配符时,不是很理解PECS(Producer Extends Consumer Super)原则,以及<? e ...
- java基础-IO流对象之Properties集合
java基础-IO流对象之Properties集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Properties集合的特点 Properties类表示了一个持久的属性集. ...
- java基础第十二篇之集合、增强for循环、迭代器和泛型
Collection接口中的常用方法: * 所有的子类子接口都是具有的 * 集合的方法:增删改查 * * public boolean add(E e);//添加元素 返回值表示是否添加成功 * pu ...
- [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...
- Java 8 中如何优雅的处理集合
Java 8 中如何优雅的处理集合(Stream API) 在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增.删.改.查.聚合.统计.过滤等操作.相比之下,关系型数据库中也同样有 ...
- java的缓冲流及使用Properties集合存取数据(遍历,store,load)
缓冲流 概述 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流原理 缓冲区是 ...
- Java——(三)Collection之Set集合、HashSet类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.Set集合 Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中, ...
- JAVA常用知识总结(四)——集合
先附一张java集合框架图 下面根据面试中常问的关于集合的问题进行了梳理: Arraylist 与 LinkedList 有什么不同? 1. 是否保证线程安全: ArrayList 和 LinkedL ...
随机推荐
- 洛谷 U78696 图书馆馆长的考验 题解
题面 1. 图书馆馆长的考验(library) 红魔馆的拥有者蕾米莉亚的好友帕秋莉是红魔馆的大图书馆的馆长.擅长操纵五行,名言是“万物都有属性.所谓的属性,和弱点是一样的”. 一天,因为魔理沙看了神之 ...
- xml文件简单读取,循环遍历
xml文件的简单读取出来生成dom4j.Document对象树,循环遍历获取节点 例子: import java.util.Iterator; import org.dom4j.Document; i ...
- Thymeleaf模板中变量报红
在上顶部添加 <!--suppress ThymeleafVariablesResolveInspection --> 或者 <!--suppress ALL --> 都可以解 ...
- Python自学
print("\u4e2d\u56fd\") 报错,语法错误 修改,去掉尾部的\,正确 import datetimeprint("now:"+datetime ...
- ArcGIS 在VS2010中 ESRI.ArcGIS.SOESupport.dll 无法正常加载的处理
转自 http://blog.csdn.net/tnt123688/article/details/23186973 问题描述: 打开ArcGIS的SOE模板后,提示 错误 命名空间“ESRI.A ...
- Ubuntu安装openssh安装ssh、 免密登录、 创建新用户并免密登录
一.安装openssh sudo apt-get install openssh-server ssh localhost 二.免密登录 cd ~/.ssh ssh-keygen ...
- ORA-01846: 周中的日无效
参考这篇博客:https://blog.csdn.net/yabingshi_tech/article/details/8678218
- easyUI解析原理
easyUI通过parser解析器,对页面中的html元素进行查找, 如果查找到class名以easyui-开头的标签,就调用easyui对应的组件,将该标签封装成easyui的组件
- 移动端布局基础viewport
划重点 手机屏幕相对着桌面浏览器小,传统网页的设计在手机上体验糟糕 Apple 在移动版 Safari 中定义了 viewport meta 标签(如果没记错最早提出的话),用于创建一个虚拟窗口(la ...
- python类库32[多进程通信Queue+Pipe+Value+Array]
多进程通信 queue和pipe的区别: pipe用来在两个进程间通信.queue用来在多个进程间实现通信. 此两种方法为所有系统多进程通信的基本方法,几乎所有的语言都支持此两种方法. 1)Queue ...