RedisTemplate集合使用说明-opsForList(二)
1、leftPush(K key, V value)
在变量左边添加元素值。
Java代码 ![]()
- redisTemplate.opsForList().leftPush("list","a");
- redisTemplate.opsForList().leftPush("list","b");
- redisTemplate.opsForList().leftPush("list","c");
2、index(K key, long index)
获取集合指定位置的值。
Java代码 ![]()
- String listValue = redisTemplate.opsForList().index("list",1) + "";
- System.out.println("通过index(K key, long index)方法获取指定位置的值:" + listValue);
3、range(K key, long start, long end)
获取指定区间的值。
Java代码 ![]()
- List<Object> list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过range(K key, long start, long end)方法获取指定范围的集合值:"+list);
4、leftPush(K key, V pivot, V value)
把最后一个参数值放到指定集合的第一个出现中间参数的前面,如果中间参数值存在的话。
Java代码 ![]()
- redisTemplate.opsForList().leftPush("list","a","n");
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过leftPush(K key, V pivot, V value)方法把值放到指定参数值前面:" + list);
5、leftPushAll(K key, V... values)
向左边批量添加参数元素。
Java代码 ![]()
- redisTemplate.opsForList().leftPushAll("list","w","x","y");
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过leftPushAll(K key, V... values)方法批量添加元素:" + list);
6、leftPushAll(K key, Collection<V> values)
以集合的方式向左边批量添加元素。
Java代码 ![]()
- List newList = new ArrayList();
- newList.add("o");
- newList.add("p");
- newList.add("q");
- redisTemplate.opsForList().leftPushAll("list",newList);
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过leftPushAll(K key, Collection<V> values)方法以集合的方式批量添加元素:" + list);
7、leftPushIfPresent(K key, V value)
如果存在集合则添加元素。
Java代码 ![]()
- redisTemplate.opsForList().leftPushIfPresent("presentList","o");
- list = redisTemplate.opsForList().range("presentList",0,-1);
- System.out.println("通过leftPushIfPresent(K key, V value)方法向已存在的集合添加元素:" + list);
8、rightPush(K key, V value)
向集合最右边添加元素。
Java代码 ![]()
- redisTemplate.opsForList().rightPush("list","w");
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过rightPush(K key, V value)方法向最右边添加元素:" + list);
9、rightPush(K key, V pivot, V value)
向集合中第一次出现第二个参数变量元素的右边添加第三个参数变量的元素值。
Java代码 ![]()
- redisTemplate.opsForList().rightPush("list","w","r");
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过rightPush(K key, V pivot, V value)方法向最右边添加元素:" + list);
10、rightPushAll(K key, V... values)
向右边批量添加元素。
Java代码 ![]()
- redisTemplate.opsForList().rightPushAll("list","j","k");
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过rightPushAll(K key, V... values)方法向最右边批量添加元素:" + list);
11、rightPushAll(K key, Collection<V> values)
以集合方式向右边添加元素。
Java代码 ![]()
- newList.clear();
- newList.add("g");
- newList.add("h");
- redisTemplate.opsForList().rightPushAll("list",newList);
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过rightPushAll(K key, Collection<V> values)方法向最右边以集合方式批量添加元素:" + list);
12、rightPushIfPresent(K key, V value)
向已存在的集合中添加元素。
Java代码 ![]()
- redisTemplate.opsForList().rightPushIfPresent("presentList","d");
- list = redisTemplate.opsForList().range("presentList",0,-1);
- System.out.println("通过rightPushIfPresent(K key, V value)方法已存在的集合向最右边添加元素:" + list);
13、size(K key)
获取集合长度。
Java代码 ![]()
- long listLength = redisTemplate.opsForList().size("list");
- System.out.println("通过size(K key)方法获取集合list的长度为:" + listLength);
14、leftPop(K key)
移除集合中的左边第一个元素。
Java代码 ![]()
- Object popValue = redisTemplate.opsForList().leftPop("list");
- System.out.print("通过leftPop(K key)方法移除的元素是:" + popValue);
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println(",剩余的元素是:" + list);
15、leftPop(K key, long timeout, TimeUnit unit)
移除集合中左边的元素在等待的时间里,如果超过等待的时间仍没有元素则退出。
Java代码 ![]()
- popValue = redisTemplate.opsForList().leftPop("presentList",1, TimeUnit.SECONDS);
- System.out.print("通过leftPop(K key, long timeout, TimeUnit unit)方法移除的元素是:" + popValue);
- list = redisTemplate.opsForList().range("presentList",0,-1);
- System.out.println(",剩余的元素是:" + list);
16、rightPop(K key)
移除集合中右边的元素。
Java代码 ![]()
- popValue = redisTemplate.opsForList().rightPop("list");
- System.out.print("通过rightPop(K key)方法移除的元素是:" + popValue);
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println(",剩余的元素是:" + list);
17、rightPop(K key, long timeout, TimeUnit unit)
移除集合中右边的元素在等待的时间里,如果超过等待的时间仍没有元素则退出。
Java代码 ![]()
- popValue = redisTemplate.opsForList().rightPop("presentList",1, TimeUnit.SECONDS);
- System.out.print("通过rightPop(K key, long timeout, TimeUnit unit)方法移除的元素是:" + popValue);
- list = redisTemplate.opsForList().range("presentList",0,-1);
- System.out.println(",剩余的元素是:" + list);
18、rightPopAndLeftPush(K sourceKey, K destinationKey)
移除集合中右边的元素,同时在左边加入一个元素。
Java代码 ![]()
- popValue = redisTemplate.opsForList().rightPopAndLeftPush("list","12");
- System.out.print("通过rightPopAndLeftPush(K sourceKey, K destinationKey)方法移除的元素是:" + popValue);
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println(",剩余的元素是:" + list);
19、rightPopAndLeftPush(K sourceKey, K destinationKey, long timeout, TimeUnit unit)
移除集合中右边的元素在等待的时间里,同时在左边添加元素,如果超过等待的时间仍没有元素则退出。
Java代码 ![]()
- popValue = redisTemplate.opsForList().rightPopAndLeftPush("presentList","13",1,TimeUnit.SECONDS);
- System.out.println("通过rightPopAndLeftPush(K sourceKey, K destinationKey, long timeout, TimeUnit unit)方法移除的元素是:" + popValue);
- list = redisTemplate.opsForList().range("presentList",0,-1);
- System.out.print(",剩余的元素是:" + list);
20、set(K key, long index, V value)
在集合的指定位置插入元素,如果指定位置已有元素,则覆盖,没有则新增,超过集合下标+n则会报错。
Java代码 ![]()
- redisTemplate.opsForList().set("presentList",3,"15");
- list = redisTemplate.opsForList().range("presentList",0,-1);
- System.out.print("通过set(K key, long index, V value)方法在指定位置添加元素后:" + list);
21、remove(K key, long count, Object value)
从存储在键中的列表中删除等于值的元素的第一个计数事件。count> 0:删除等于从左到右移动的值的第一个元素;count< 0:删除等于从右到左移动的值的第一个元素;count = 0:删除等于value的所有元素。
Java代码 ![]()
- long removeCount = redisTemplate.opsForList().remove("list",0,"w");
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过remove(K key, long count, Object value)方法移除元素数量:" + removeCount);
- System.out.println(",剩余的元素:" + list);
22、trim(K key, long start, long end)
截取集合元素长度,保留长度内的数据。
Java代码 ![]()
- redisTemplate.opsForList().trim("list",0,5);
- list = redisTemplate.opsForList().range("list",0,-1);
- System.out.println("通过trim(K key, long start, long end)方法截取后剩余元素:" + list);
RedisTemplate集合使用说明-opsForList(二)的更多相关文章
- 2019/3/4 java集合学习(二)
java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以 ...
- 跟着刚哥梳理java知识点——集合(十二)
Java集合分为Collection和Map两种体系 一.Collection接口: Collections接口为我们提供了以下方法: size():返回集合中元素的个数 add(Object obj ...
- Java 集合系列之二:List基本操作
1. Java List 1. Java List重要观点 Java List接口是Java Collections Framework的成员. List允许您添加重复元素. List允许您拥有'nu ...
- 6.1 集合和映射--集合Set->底层基于二叉搜索树实现
前言:在第5章的系列学习中,已经实现了关于二叉搜索树的相关操作,详情查看第5章即可.在本节中着重学习使用底层是我们已经封装好的二叉搜索树相关操作来实现一个基本的集合(set)这种数据结构.集合set的 ...
- Collection集合学习(二)———List接口与具体实现
二.List接口: 一个可以包含重复元素的Collection,List中的元素不会自动排序,元素顺序由添加时的顺序决定. 具体实现类包括Vector(线程安全的),ArrayList,LinkedL ...
- java集合框架(二):HashTable
HashTable作为集合框架中的一员,现在是很少使用了,一般都是在面试中会问到其与HashMap的区别.为了能在求职的时候用上场,我们有必要对其原理进行解读. HashTable的实现原理跟Hash ...
- JAVA集合类型(二)
JAVA集合类型 (现代的变量集群) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0J ...
- Java提高篇(三六)-----Java集合细节(二):asList的缺陷
在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷: 一.避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存 ...
- swift 集合类型(二)
说到swift的集合类型,就不得不谈到Dictionary.包含一个键值对组合的集合. var air = ["name":"warner","tit ...
随机推荐
- luogu P3320 [SDOI2015]寻宝游戏
大意:给定树, 要求维护一个集合, 支持增删点, 询问从集合中任取一点作为起点, 遍历完其他点后原路返回的最短长度. 集合中的点按$dfs$序排列后, 最短距离就为$dis(s_1,s_2)+...+ ...
- 解决 mysql (10038)
1.授权 mysql>grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant o ...
- nginx配置:静态访问txt文件
有一个A网站,访问的话会重定向跳转到B网站上,在A网站的nginx配置文件中配置的有如下: location / { rewrite ^/(.*) http://B/$1 redirect; } 现在 ...
- sql server truncate语句
truncate语句 --truncate table '表名' --这样就利用SQL语句清空了该数据表,而不保留日志
- vue跳转新页面后回到顶部
全部页面的话就在mian.js中设置或者 单独的某个页面就在页面加载之前设置 单独设置需变为this.$router router.afterEach((to,from,next)=>{ win ...
- thinkphp5.1 中间件是什么,有什么用
中间件是什么?有什么作用? 中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理.---tp5.1手册 也就是说,降低了系统的耦合:[在http请求阶段,执行中间件的入口执行方法(hand ...
- 2019-2020-1 20199319《Linux内核原理与分析》第四周作业
MenuOS的构造 基础知识 1.操作系统的两把宝剑:①中断上下文的切换:保存现场和恢复现场:②进程上下文的切换. 2.Linux内核以A.B.C.D方式命名:A和B变得无关紧要,C是内核的真实版本, ...
- 2019/9/18 IIS服务器 ftp站安装:隔离模式
net user ftp1 /add 添加两个账户 在d盘下创建ftp站的文件夹ftptest,进入文件夹,创建文件夹LocalUser,进入LocalUser 分别创建administrator ...
- 小黄车ofo法人被限制出境,它究竟还能撑多久?
因为季节的原因,现在正是骑车的好时候,而且北京也开通了一条自行车的专用路.但就是在这么好的时候,我们发现,路边的小黄车却越来越少了,而且它的麻烦还不断! ofo法人被限制出境 6月12日消息,据上海市 ...
- java7连接数据库 网页 添加学生信息测试
石家庄铁道大学2019年秋季 2018 级课堂测试试卷(六)(10分) 课程名称: JAVA语言程序设计 任课教师: 王建民 考试时间: 150 分钟 一. 考试要求: 1登录账号 ...