RedisTemplate集合使用说明-opsForList(二)

2023-11-06

   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);  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • [WSL-1-Ubuntu]使用oh-my-zsh美化你的WSL(附脚本)

    在腾讯云买的那个1c2g的服务器 想用mycat搭建一个mysql cluser 用docker部署了一主一从内存就没了一半 可一主一从没啥作用 起码也得2主2从吧 而且还有HA呢 但内存和钱包不给力 所以就想到WSL这个方案 在开wsl这
  • 发现1个拿来即用的Python高级脚本,收藏!

    今天 给大家推荐一些用Python爬虫做私活的渠道 先给各位还不熟悉Python爬虫的朋友介绍一下 可以短时间获得大量资料 可以进一步数据分析 当然也可以获得收益 学会Python爬虫以后 还可以通过各种渠道 网站接单 接单群 私人介绍 接
  • 今日头条信息流广告怎么做?(今日头条信息流广告费用解析)

    国内的各种渠道千千万 主流的广告平台不算多也不算少 而今日头条与其它平台最大区别在于 个性化推荐和智能分发 可以简单理解为 今日头条上投放的广告 是通过 机器人代码 过滤再分发出去的 因此了解 机器人 在分发过程中遵循的规则 随着网络的发展
  • pytorch: RuntimeError: DataLoader worker (pid(s) 27292) exited unexpectedly

    厉害了 用win10特有的bug 搞半天 就是把pytorch下dataloader的其中一个num workers参数注释掉 可能是win10只有一个thread的原因 torch utils data DataLoader self d
  • 同一套服务如何应对不同终端的需求——服务适配

    经过前几个章节的实践 会员已可以绑定手机号 更新个人信息 绑定个人车辆信息 开通月卡 签到等功能 下面从客户端查看自己的数据入手 再聊聊服务调用的问题 简单处理 我们已经将用户数据进行垂直拆分 分布在不同数据库中 当客户端数据展现时 就需要
  • 参加2012中国数据库技术大会大会有感

    上周末参加了 DTCC Database Technology Conference China 2012中国数据库技术大会 见到了很多熟人 开了3天 好多议题 我去了后两天 第一天是周五 没好意思向公司请假 干货还是很多的 比某些扯淡的行
  • 代理服务器(Proxy)

    目录 1 什么是代理服务器 2 代理服务器的作用 3 代理服务器的工作流程 4 安装代理服务器软件及配置文件解析 squid 5 正向代理 6 修改数据存放位置 7 设置磁盘使用阈值 代理 两字顾名思义就是以代理人的身份去帮助其他人取得所需
  • C++数组:发工资

    题目描述 财务处要给公司的n位员工发工资了 请你帮助计算最少要多少张人民币才能给每位员工发工资而不必找零呢 已知人民币的面额为100元 50元 10元 5元 2元和1元这6种 输入格式 第一个值为正整数n 后面接着n个正整数表示n位员工的工
  • Python天文数据处理——Astropy

    前言 Astropy是一个用于天文数据处理的Python包 它包含了许多常用的天文学函数和工具 可以用于处理 分析和可视化各种类型的天文数据 Astropy最新版本是v4 3 官网地址为https www astropy org Astro
  • Django计算机毕业设计个性化大学生图书推荐系统(程序+LW)Python

    该项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 项目运行 环境配置 Pychram社区版 python3 7 7 Mysql5 7 HBuilderX list pip Navicat11 Django nodejs 项目技
  • Linux进行AES加密每次结果都不一致并且解密失败报错

    1 现象 windows操作系统下进行 123456 的AES加密 encrypted message is below QLNYZyjRnKF zxAjzDt lw decrypted message is below 123456 阿里
  • [数值分析拟合]Matlab三次样条插值拟合数据

    三次样条插值是一种运用极为广泛的工程插值算法 本文章编写的函数默认使用端点处的导数值代替给定的两端点的导数值使用三转角构造法进行插值 该函数也可传入端点导数数值进行分析 对数据进行方便而迅速的拟合 但是目前没有三弯矩构造法 一 三次样条插值
  • Qt信号槽——传递自定义数据类型

    Qt信号槽 传递自定义数据类型 Qt的信号槽机制支持传递int short double等C语言的基本类型的变量 也可以传递Qt自己的数据类型 但是在传递用户自己定义的数据类型 或其他数据类型是需要进行注册的 原因 当一个signal被放到
  • 解决python打包的exe程序运行报错闪退不留痕迹问题

    打了exe 运行的时候往往会因为找不到文件而报错闪退 此时根本不知道程序问题出在哪里 也因为程序执行太快而抓不到屏 最简单的方法如下 1 打开已打包好的exe文件目录 2 资源管理器输入cmd 运行命令行程序 3 命令行窗口内运行exe程序
  • JDBC与Mybitabs实习笔记

    JDBC与mybatis学习 JDBC的使用 1 导入依赖jar包 2 加载驱动类 3 创建连接对象 4 创建传输对象 SQL的执行器 将SQL语句传输给SQL服务器 5 执行SQL语句 6 关闭资源 1 导入依赖jar包 去mvnreoi
  • oracle存储过程----mybatis传入参数调用存储过程查询

    上一篇的链接是 oracle存储过程 异常的写法介绍 有这样的需求 比如共有表B1 B17 17张表 现在要求传入年度 行政区划 查询出所有符合条件的B1 B17的所有记录 当然 仅查询这些表中共同有的字段 因为这算是跨表查询了 一般我们写
  • vue基础入门

    1 vue简介 1 1 什么是vue 官方概念 Vue 读音 vju 类似于view 是一套用于构建用户界面的前端框架 1 2 vue 的特性 vue 框架的特性 主要体现在如下两方面 数据驱动视图 双向数据绑定 数据驱动视图 在使用了 v
  • 用 卡莱特A35播放盒子 在局域网内更新单行文本

    将播放盒和led正常连接之后 1 到官方网下载配套软件PlayerMaster 下载开发文档 2 使用配套软件 PlayerMaster 找到并查看目标设备的ip 3 在开发文档中找到 ColorlightRESTfulAPI V1 9 中
  • hive分桶表详解

    为什么要用分桶表 单个分区或者表中的数据量越来越大 当分区不能更细粒的划分数据时 所以会采用分桶技术将数据更细粒度的划分和管理 分区提供了一个隔离数据和优化查询的便利的方式 但是当分区的数量过多时 会产生过多的小分区 这样会给namenod
  • RedisTemplate集合使用说明-opsForList(二)

    1 leftPush K key V value 在变量左边添加元素值 Java代码 redisTemplate opsForList leftPush list a redisTemplate opsForList leftPush li