内容简介:之前讲解了springboot(StringRedisTemplate)操作redis的string数据结构,这篇文章将会讲解list数据结构下图列出了redis list数据结构所具有的方法RedisTemplate提供的操作redis的方法列表如下:
之前讲解了springboot(StringRedisTemplate)操作 redis 的string数据结构,这篇文章将会讲解list数据结构
list数据结构具有的操作
下图列出了redis list数据结构所具有的方法
StringRedisTemplate提供的方法
RedisTemplate提供的操作redis的方法列表如下:
下面,我们挑一些常用的方法作为实例讲解,其它方法,可以参考API说明即可。
range
现在redis中有一个list,其key为:happyjava:list,并且有三个值,如下:
range(K key, long start, long end)方法,是获取list指定范围的内容
start下标从零开始。如下,获取第二个到第三个的元素:
@Test
public void testList() {
List<String> list = redisTemplate.opsForList().range("happyjava:list", 1, 2);
assert list != null;
list.forEach(System.out::println);
}
复制代码
输出结果:
blog.happyjava.cn www.happyjava.cn 复制代码
size(K key)
获得list的大小
@Test
public void testSize() {
Long size = redisTemplate.opsForList().size("happyjava:list");
System.out.println(size);
}
复制代码
输出结果:
leftPush(K key, V value)
该方法标识从list的左边(上边,或者说list的头部)压入数据。如果不存在该key,则会创建该key。
@Test
public void testLeftPush() {
redisTemplate.opsForList().leftPush("happyjava:list", "new happyjava");
}
复制代码
执行后,去查看redis中的数据:
leftPushAll
有两个重载的方法,分别为不定参数:leftPushAll(K key, V... values); ,
集合参数:leftPushAll(K key, Collection values)
不定参数:
@Test
public void testLeftPushAll() {
redisTemplate.opsForList().leftPushAll("happyjava:list","apple","happy");
}
复制代码
执行之后查看数据:
集合参数:
@Test
public void testLeftPushAll() {
// redisTemplate.opsForList().leftPushAll("happyjava:list","apple","happy");
redisTemplate.opsForList().leftPushAll("happyjava:list", Arrays.asList("new happy1", "new happy2"));
}
复制代码
执行之后查看数据:
rightPush(K key, V value)
从list的尾部压入数据
@Test
public void testRightPush() {
redisTemplate.opsForList().rightPush("happyjava:list","java");
}
复制代码
执行之后查看redis数据:
rightPushAll
该方法与leftPushAll类是,一样有两个重载的方法,如下:
这里就不做过多的介绍了。
set(K key, long index, V value)方法
可以直接设置list中某个下标的值,index从0开始
@Test
public void testSet() {
redisTemplate.opsForList().set("happyjava:list",1,"test set");
}
复制代码
执行之后查看redis
remove(K key, long count, Object value)方法
删除某个值,删除count个,从头开始删除
现在redis中的数据如下:
执行一下代码:
@Test
public void testRemove() {
redisTemplate.opsForList().remove("happyjava:list",2,"happy");
}
复制代码
执行之后查看数据:
index(K key, long index)方法
返回index(从0开始)下标的元素。现在redis数据如下:
@Test
public void testIndex() {
String value = redisTemplate.opsForList().index("happyjava:list", 1);
System.out.println(value);
}
复制代码
执行结果如下:
leftPop
有两个重载的方法:
V leftPop(K key);
V leftPop(K key, long timeout, TimeUnit unit);
此方法会弹出list头部的元素(弹出后就在list中删除),跟栈一样,重载的那个方法,如果list不存在数据,则会阻塞住,等有数据了就会返回(最长阻塞时间就是设置的超时时间)。该方法对应到redis的操作是BLPOP(blocking left pop)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- JavaScript骚操作之操作符
- Go 语言操作 MySQL 之 事务操作
- C# 数据操作系列 - 1. SQL基础操作
- Vim 跨行操作与 Ex 命令操作范围
- 并发环境下,先操作数据库还是先操作缓存?
- 关于HBase Shell基本操作的表操作示例
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spring实战(第4版)
Craig Walls 沃尔斯 / 张卫滨 / 人民邮电出版社 / 2016-4-1 / CNY 89.00
《Spring实战(第4版)》是经典的、畅销的Spring学习和实践指南。 第4版针对Spring 4进行了全面更新。全书分为四部分。第1部分介绍Spring框架的核心知识。第二部分在此基础上介绍了如何使用Spring构建Web应用程序。第三部分告别前端,介绍了如何在应用程序的后端使用Spring。第四部分描述了如何使用Spring与其他的应用和服务进行集成。 《Spring实战(第4......一起来看看 《Spring实战(第4版)》 这本书的介绍吧!