IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot RedisTemplate opsForList -> 正文阅读

[Java知识库]SpringBoot RedisTemplate opsForList

spring-data-redis-3.0.0-M2.jar
@Autowired
private RedisTemplate redisTemplate;
/*
 * (non-Javadoc)
 * @see org.springframework.data.redis.core.RedisOperations#opsForList()
 */
@Override
public ListOperations<K, V> opsForList() {
	return listOps;
}
类型Value
String字符串
List列表
Hash字典
Set无序集合
zset(Sorted Set)有序集合

1 SpringBoot RedisTemplate

1 SpringBoot RedisTemplate opsForValue
2 SpringBoot RedisTemplate opsForHash
3 SpringBoot RedisTemplate opsForList

操作作用
push 操作leftpush是在list的左侧添加,即列表的头部,right是在list的右侧侧添加,即在列表的尾部。
pop 操作和push一样。pop是获取一个元素(leftpop:先入后出,rightpop:先入先出),并且删除这个元素。
range查看某个元素

1 Long leftPush(K key, V value)

K 是否存在操作返回解释
添加添加成功后的list的长度先添加的位于栈底
创建添加成功后的list的长度先添加的位于栈底
@Test
public void leftPush() {
    Long value = redisTemplate.opsForList().leftPush("OpsForList", "M");
    System.out.println(value);
}
@Test
public void leftPush() {
    redisTemplate.opsForList().leftPush("OpsForList", "A");
    redisTemplate.opsForList().leftPush("OpsForList", "B");
    redisTemplate.opsForList().leftPush("OpsForList", "C");
}

在这里插入图片描述

2 Long leftPush(K key, V pivot, V value)

pivot 是否存在操作返回
添加到 pivot 前面添加成功后的list的长度
不做操作-1
@Test
public void leftPush() {
    Long value = redisTemplate.opsForList().leftPush("OpsForList", "A", "M-");
    System.out.println(value);
}

在这里插入图片描述
在这里插入图片描述

2 Long leftPushAll(K, Collection)

和1类似,一次left添加多个,返回添加成后的list的长度

3 Long leftPushAll(K, V…)

和1类似,一次left添加多个,返回添加成后的list的长度

4 Long leftPushIfPresent(K, V)

K 是否存在操作返回
添加返回添加成后的list的长度
不添加0
@Test
public void leftPushIfPresent() {
    Long value1 = redisTemplate.opsForList().leftPushIfPresent("OpsForList", "KV");
    System.out.println(value1);
    Long value2 = redisTemplate.opsForList().leftPushIfPresent("OpsForList-A", "B");
    System.out.println(value2);
}
5
0

5 V leftPop(K key)

K 是否存在操作返回
获取左边第一个元素(栈顶元素)并移除左边第一个元素
不做操作null
@Test
public void leftPop() {
    String value = (String) redisTemplate.opsForList().leftPop("OpsForList");
    System.out.println(value);
}

在这里插入图片描述
在这里插入图片描述

6 List<V> leftPop(K key, long count)

K 是否存在操作返回
获取左边count个元素(栈顶count个元素)并移除左边count个元素
不做操作空 List
@Test
public void leftPop() {
    List<Object> value = redisTemplate.opsForList().leftPop("OpsForList", 2);
    System.out.println(value);
}
[C, B]

原来
leftpop 2 后

7 V leftPop(K, long, TimeUnit)

K 是否存在操作返回
为左边第一个元素(栈顶元素)设置超时时间左边第一个元素
不做操作null
@Test
public void leftPop() {
    String value = (String) redisTemplate.opsForList().leftPop("OpsForList", 5, TimeUnit.SECONDS);
    System.out.println(value);
}
C

在这里插入图片描述
在这里插入图片描述

8 Long rightPush(K, V)

和left的一样,方向相反

9 Long rightPush(K, V, V)

和left的一样,方向相反

10 Long rightPushAll(K, Collection)

和left的一样,方向相反

11 Long rightPushAll(K, V…)

和left的一样,方向相反

12 Boolean rightPushIfPresent(K, V)

和left的一样,方向相反

13 rightPop(K)

和left的一样,方向相反

14 rightPop(K, long)

和left的一样,方向相反

15 rightPop(K, long, TimeUnit)

和left的一样,方向相反

16 V rightPopAndLeftPush(K sourceKey, K destinationKey)

sourceKey 和 destinationKey 是否一样操作返回
移除右边的第一个元素,将该元素在左边增加右边的第一个元素
创建新的键值对,destinationKey为key,右边的第一个元素为value右边的第一个元素

在这里插入图片描述
在这里插入图片描述

17 rightPopAndLeftPush(K, K, long, TimeUnit)

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

@Test
public void rightPopAndLeftPush() {
    String value = (String) redisTemplate.opsForList().rightPopAndLeftPush("OpsForList", "OpsForList", 5, TimeUnit.SECONDS);
    System.out.println(value);
}

在这里插入图片描述

18 V (K key, long index)

K 是否存在index 是否超过返回
index位置对应的value
null
-null
@Test
public void index() {
    String value = (String) redisTemplate.opsForList().index("OpsForList", 0);
    System.out.println(value);
}
A

在这里插入图片描述

19 Long indexOf(K key, V value)

K 是否存在value 是否存在返回
第一个 value 的 index
null
-null
@Test
public void indexOf() {
    Long value = redisTemplate.opsForList().indexOf("OpsForList", "A");
    System.out.println(value);
}
0

在这里插入图片描述

20 lastIndexOf(K key, V value)

K 是否存在value 是否存在返回
第最后一个 value 的 index
null
-null
@Test
public void indexOf() {
    Long value = redisTemplate.opsForList().lastIndexOf("OpsForList", "A");
    System.out.println(value);
}
3

在这里插入图片描述
move(K, Direction, K, Direction)
move(K, Direction, K, Direction, long, TimeUnit)

range(K, long, long)
remove(K, long, Object)

set(K, long, V)
size(K)
trim(K, long, long)

更新中…

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:09:58  更:2022-03-30 18:12:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:52:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码