1、leftPush(K key, V value)

在变量左边添加元素值。

Java代码  

  1. redisTemplate.opsForList().leftPush("list","a");
  2. redisTemplate.opsForList().leftPush("list","b");
  3. redisTemplate.opsForList().leftPush("list","c");

2、index(K key, long index)

获取集合指定位置的值。

Java代码  

  1. String listValue = redisTemplate.opsForList().index("list",1) + "";
  2. System.out.println("通过index(K key, long index)方法获取指定位置的值:" + listValue);

3、range(K key, long start, long end)

获取指定区间的值。

Java代码  

  1. List<Object> list =  redisTemplate.opsForList().range("list",0,-1);
  2. System.out.println("通过range(K key, long start, long end)方法获取指定范围的集合值:"+list);

4、leftPush(K key, V pivot, V value)

把最后一个参数值放到指定集合的第一个出现中间参数的前面,如果中间参数值存在的话。

Java代码  

  1. redisTemplate.opsForList().leftPush("list","a","n");
  2. list =  redisTemplate.opsForList().range("list",0,-1);
  3. System.out.println("通过leftPush(K key, V pivot, V value)方法把值放到指定参数值前面:" + list);

5、leftPushAll(K key, V... values)

向左边批量添加参数元素。

Java代码  

  1. redisTemplate.opsForList().leftPushAll("list","w","x","y");
  2. list =  redisTemplate.opsForList().range("list",0,-1);
  3. System.out.println("通过leftPushAll(K key, V... values)方法批量添加元素:" + list);

6、leftPushAll(K key, Collection<V> values)

以集合的方式向左边批量添加元素。

Java代码  

  1. List newList = new ArrayList();
  2. newList.add("o");
  3. newList.add("p");
  4. newList.add("q");
  5. redisTemplate.opsForList().leftPushAll("list",newList);
  6. list =  redisTemplate.opsForList().range("list",0,-1);
  7. System.out.println("通过leftPushAll(K key, Collection<V> values)方法以集合的方式批量添加元素:" + list);

7、leftPushIfPresent(K key, V value)

如果存在集合则添加元素。

Java代码  

  1. redisTemplate.opsForList().leftPushIfPresent("presentList","o");
  2. list =  redisTemplate.opsForList().range("presentList",0,-1);
  3. System.out.println("通过leftPushIfPresent(K key, V value)方法向已存在的集合添加元素:" + list);

8、rightPush(K key, V value)

向集合最右边添加元素。

Java代码  

  1. redisTemplate.opsForList().rightPush("list","w");
  2. list =  redisTemplate.opsForList().range("list",0,-1);
  3. System.out.println("通过rightPush(K key, V value)方法向最右边添加元素:" + list);

9、rightPush(K key, V pivot, V value)

向集合中第一次出现第二个参数变量元素的右边添加第三个参数变量的元素值。

Java代码  

  1. redisTemplate.opsForList().rightPush("list","w","r");
  2. list =  redisTemplate.opsForList().range("list",0,-1);
  3. System.out.println("通过rightPush(K key, V pivot, V value)方法向最右边添加元素:" + list);

10、rightPushAll(K key, V... values)

向右边批量添加元素。

Java代码  

  1. redisTemplate.opsForList().rightPushAll("list","j","k");
  2. list =  redisTemplate.opsForList().range("list",0,-1);
  3. System.out.println("通过rightPushAll(K key, V... values)方法向最右边批量添加元素:" + list);

11、rightPushAll(K key, Collection<V> values)

以集合方式向右边添加元素。

Java代码  

  1. newList.clear();
  2. newList.add("g");
  3. newList.add("h");
  4. redisTemplate.opsForList().rightPushAll("list",newList);
  5. list =  redisTemplate.opsForList().range("list",0,-1);
  6. System.out.println("通过rightPushAll(K key, Collection<V> values)方法向最右边以集合方式批量添加元素:" + list);

12、rightPushIfPresent(K key, V value)

向已存在的集合中添加元素。

Java代码  

  1. redisTemplate.opsForList().rightPushIfPresent("presentList","d");
  2. list =  redisTemplate.opsForList().range("presentList",0,-1);
  3. System.out.println("通过rightPushIfPresent(K key, V value)方法已存在的集合向最右边添加元素:" + list);

13、size(K key)

获取集合长度。

Java代码  

  1. long listLength = redisTemplate.opsForList().size("list");
  2. System.out.println("通过size(K key)方法获取集合list的长度为:" + listLength);

14、leftPop(K key)

移除集合中的左边第一个元素。

Java代码  

  1. Object popValue = redisTemplate.opsForList().leftPop("list");
  2. System.out.print("通过leftPop(K key)方法移除的元素是:" + popValue);
  3. list =  redisTemplate.opsForList().range("list",0,-1);
  4. System.out.println(",剩余的元素是:" + list);

15、leftPop(K key, long timeout, TimeUnit unit)

移除集合中左边的元素在等待的时间里,如果超过等待的时间仍没有元素则退出。

Java代码  

  1. popValue = redisTemplate.opsForList().leftPop("presentList",1, TimeUnit.SECONDS);
  2. System.out.print("通过leftPop(K key, long timeout, TimeUnit unit)方法移除的元素是:" + popValue);
  3. list =  redisTemplate.opsForList().range("presentList",0,-1);
  4. System.out.println(",剩余的元素是:" + list);

16、rightPop(K key)

移除集合中右边的元素。

Java代码  

  1. popValue = redisTemplate.opsForList().rightPop("list");
  2. System.out.print("通过rightPop(K key)方法移除的元素是:" + popValue);
  3. list =  redisTemplate.opsForList().range("list",0,-1);
  4. System.out.println(",剩余的元素是:" + list);

17、rightPop(K key, long timeout, TimeUnit unit)

移除集合中右边的元素在等待的时间里,如果超过等待的时间仍没有元素则退出。

Java代码  

  1. popValue = redisTemplate.opsForList().rightPop("presentList",1, TimeUnit.SECONDS);
  2. System.out.print("通过rightPop(K key, long timeout, TimeUnit unit)方法移除的元素是:" + popValue);
  3. list =  redisTemplate.opsForList().range("presentList",0,-1);
  4. System.out.println(",剩余的元素是:" + list);

18、rightPopAndLeftPush(K sourceKey, K destinationKey)

移除集合中右边的元素,同时在左边加入一个元素。

Java代码  

  1. popValue = redisTemplate.opsForList().rightPopAndLeftPush("list","12");
  2. System.out.print("通过rightPopAndLeftPush(K sourceKey, K destinationKey)方法移除的元素是:" + popValue);
  3. list =  redisTemplate.opsForList().range("list",0,-1);
  4. System.out.println(",剩余的元素是:" + list);

19、rightPopAndLeftPush(K sourceKey, K destinationKey, long timeout, TimeUnit unit)

移除集合中右边的元素在等待的时间里,同时在左边添加元素,如果超过等待的时间仍没有元素则退出。

Java代码  

  1. popValue = redisTemplate.opsForList().rightPopAndLeftPush("presentList","13",1,TimeUnit.SECONDS);
  2. System.out.println("通过rightPopAndLeftPush(K sourceKey, K destinationKey, long timeout, TimeUnit unit)方法移除的元素是:" + popValue);
  3. list =  redisTemplate.opsForList().range("presentList",0,-1);
  4. System.out.print(",剩余的元素是:" + list);

20、set(K key, long index, V value)

在集合的指定位置插入元素,如果指定位置已有元素,则覆盖,没有则新增,超过集合下标+n则会报错。

Java代码  

  1. redisTemplate.opsForList().set("presentList",3,"15");
  2. list =  redisTemplate.opsForList().range("presentList",0,-1);
  3. 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代码  

  1. long removeCount = redisTemplate.opsForList().remove("list",0,"w");
  2. list =  redisTemplate.opsForList().range("list",0,-1);
  3. System.out.println("通过remove(K key, long count, Object value)方法移除元素数量:" + removeCount);
  4. System.out.println(",剩余的元素:" + list);

22、trim(K key, long start, long end)

截取集合元素长度,保留长度内的数据。

Java代码  

  1. redisTemplate.opsForList().trim("list",0,5);
  2. list =  redisTemplate.opsForList().range("list",0,-1);
  3. System.out.println("通过trim(K key, long start, long end)方法截取后剩余元素:" + list);

RedisTemplate集合使用说明-opsForList(二)的更多相关文章

  1. 2019/3/4 java集合学习(二)

    java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以 ...

  2. 跟着刚哥梳理java知识点——集合(十二)

    Java集合分为Collection和Map两种体系 一.Collection接口: Collections接口为我们提供了以下方法: size():返回集合中元素的个数 add(Object obj ...

  3. Java 集合系列之二:List基本操作

    1. Java List 1. Java List重要观点 Java List接口是Java Collections Framework的成员. List允许您添加重复元素. List允许您拥有'nu ...

  4. 6.1 集合和映射--集合Set->底层基于二叉搜索树实现

    前言:在第5章的系列学习中,已经实现了关于二叉搜索树的相关操作,详情查看第5章即可.在本节中着重学习使用底层是我们已经封装好的二叉搜索树相关操作来实现一个基本的集合(set)这种数据结构.集合set的 ...

  5. Collection集合学习(二)———List接口与具体实现

    二.List接口: 一个可以包含重复元素的Collection,List中的元素不会自动排序,元素顺序由添加时的顺序决定. 具体实现类包括Vector(线程安全的),ArrayList,LinkedL ...

  6. java集合框架(二):HashTable

    HashTable作为集合框架中的一员,现在是很少使用了,一般都是在面试中会问到其与HashMap的区别.为了能在求职的时候用上场,我们有必要对其原理进行解读. HashTable的实现原理跟Hash ...

  7. JAVA集合类型(二)

    JAVA集合类型 (现代的变量集群) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0J ...

  8. Java提高篇(三六)-----Java集合细节(二):asList的缺陷

    在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷: 一.避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存 ...

  9. swift 集合类型(二)

    说到swift的集合类型,就不得不谈到Dictionary.包含一个键值对组合的集合. var air = ["name":"warner","tit ...

随机推荐

  1. Codeforces 1201D. Treasure Hunting

    传送门 看一眼感觉就是 $dp$,但是似乎状态太多了 考虑推推性质 首先每到一行都要把所有宝藏都走到,那么一定会走到最左边的和最右边的宝藏 注意到一旦走完所有宝藏时肯定是在最左边或者最右边的宝藏位置 ...

  2. linux环境下tomcat启动成功,部分请求页面出现404

    这种情况很多,本文记录我遇到比较奇葩的情况. 第一种情况: 第一次tomact启动成功,访问404,乱捣鼓不知怎么好了:第二次tomcat启动成功,可以访问部分链接,有些却报404,但是代码和数据都还 ...

  3. Web前端开发中的小错误

    Web前端开发中的小错误 错误1:表单的label标签跟表单字段没有关联 利用“for”属性允许用户单击label也可以选中表单中的内容.这可以扩大复选框和单选框的点击区域,非常实用. 错误2:log ...

  4. windows下一步到位搭建pycharm的开发环境

    pycharm的开发环境主要涉及到以下三个方面 pycharm的激活 这里采用破解的方式来达到永久激活的目的,因为激活码用着用着就过期的你,会发现不厌其烦的 通过测试,这个破解包适用于2017-201 ...

  5. vue cli更新

    关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vu ...

  6. 解决跨域问题,前端 live-server --port=1802 后端启动 localhost:1801,以及解决 vue 的 axios 请求整合

    测试的源码文件内容点击跳转 前端引入 vue.js 与 axios.min.js <script src="https://cdn.bootcss.com/vue/2.6.10/vue ...

  7. rabbitmq一键部署脚本

    1.新建一个名字叫 auto_install_rabbitmq.sh  的文件 2.将下面脚本拷贝到文件中,具体操作步骤在注释里面 #环境 linux #一键安装rabitmq,在linux环境中使用 ...

  8. Delphi FileListBox组件

  9. deep_learning_Function_numpy_argmax()函数

    numpy里面的argmax函数 函数原型:def argmax(a, axis=None, out=None)a----输入arrayaxis----为0代表列方向,为1代表行方向out----结果 ...

  10. c++ 类的继承和多态例子

    类的继承例子: 以上个动态银河系的制作为例,假设我们定义了一个星星的类如下: class Star { public: Star(){} ~Star(){} void Init(); void Mov ...