4、Redis中对List类型的操作命令

1、对List类型的操作命令
1.1、lpush、rpush:添加值,格式是:lpush list的key item项的值(值可以有多个)
操作如下:(注意看从左、从右添加值后,元素在list中的位置)
Java代码示例如下:
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: rpush、lpush 操作示例
*/
public class List_rpush_lpush_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 rpush mylist v1 v2 v3
*/
Long rpush = jedis.rpush("mylist", "v1", "v2", "v3");
System.out.println("rpush = " + rpush);
System.out.println("======================"); /**
* 示例2: 相当于执行 lpush mylist v1 v2 v3
*/
Long lpush = jedis.lpush("mylist", "v11", "v22", "v33");
System.out.println("lpush = " + lpush);
System.out.println("======================");
}
}
1.2、lrange:按索引范围获取值,格式是:lrange list的key 起始索引 终止索引 (-1表示最后一个索引)
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; import java.util.List; /**
* redis中对于List类型的: lrange 操作示例
*/
public class List_lrange_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 lrange mylist 0 -1
*/
List<String> mylist = jedis.lrange("mylist", 0, -1);
mylist.stream().forEach(System.out::println); System.out.println("======================");
List<String> mylist1 = jedis.lrange("mylist", 1, 2);
mylist1.stream().forEach(System.out::println); }
}
1.3、lindex:获取指定索引的值,格式是:lindex list的key 索引号
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; import java.util.List; /**
* redis中对于List类型的: lindex 操作示例
*/
public class List_lindex_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 lrange mylist 0 -1
*/
List<String> mylist = jedis.lrange("mylist", 0, -1);
mylist.stream().forEach(System.out::println); /**
* 示例2: 相当于执行 lindex mylist 0
*/
String mylist1 = jedis.lindex("mylist", 0);
System.out.println("mylist1 = " + mylist1); /**
* 示例4: 相当于执行 lindex mylist 4
*/
String mylist2 = jedis.lindex("mylist", 4);
System.out.println("mylist2 = " + mylist2);
}
}
1.4、lpop、rpop:弹出值,格式是:lpop list的key
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: lpop、rpop 操作示例
*/
public class List_lpop_rpop_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 lpop mylist
*/
String lpop = jedis.lpop("mylist");
System.out.println("lpop = " + lpop); /**
* 示例2: 相当于执行 rpop mylist
*/
String rpop = jedis.rpop("mylist");
System.out.println("rpop = " + rpop);
}
}
1.5、llen:获取list中元素的个数,格式是:llen list的key
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: llen 操作示例
*/
public class List_llen_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 llen mylist
*/
Long llen = jedis.llen("mylist");
System.out.println("llen = " + llen);
}
}
1.6、lrem:删除元素,格式是:lrem list的key 数量 item项的值,(数量可正负,表示从左或从右删除;如果数量为0,表示删除全部与给定值相符的项)
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: lrem 操作示例
*/
public class List_lrem_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 lrem mylist 0 a
*/
Long lrem = jedis.lrem("mylist",0,"a");
System.out.println("lrem = " + lrem);
}
}
1.7、ltrim:保留指定索引区间的元素,格式是:ltrim list的key 起始索引 结束索引
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: ltrim 操作示例
*/
public class List_ltrim_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 ltrim mylist 0 1
*/
String ltrim = jedis.ltrim("mylist",0,1);
System.out.println("ltrim = " + ltrim);
}
}
1.8、blpop、brpop:弹出值,格式是:blpop list的key值 过期时间。(key可以是多个,如果没有值,会一直等到有值,直到过期)
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; import java.util.List; /**
* redis中对于List类型的: blpop、brpop 操作示例
*/
public class List_blpop_brpop_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 blpop mylist 5
*/
List<String> mylist = jedis.blpop(5, "mylist");
mylist.stream().forEach(System.out::println); System.out.println("===========");
/**
* 示例2: 相当于执行 ltrim mylist 0 1
*/
List<String> mylist2 = jedis.brpop(5, "mylist");
mylist2.stream().forEach(System.out::println); }
}
1.9、rpoplpush:将元素从一个列表转移到另外一个列表,格式是:rpoplpush 源list的key值 目的list的key值
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: rpoplpush、brpoplpush 操作示例
* rpoplpush:将元素从一个列表转移到另外一个列表,格式是:rpoplpush 源list的key值 目的list的key值
* brpoplpush:将元素从一个列表转移到另外一个列表,格式是:brpoplpush 源list的key值 目的list的key值 过期时间
*/
public class List_rpoplpush_brpoplpush_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 rpoplpush mylist mylist2
*/
String rpoplpush = jedis.rpoplpush("mylist", "mylist2");
System.out.println("rpoplpush = " + rpoplpush); /**
* 示例2: 相当于执行 brpoplpush mylist mylist2 4
*/
String brpoplpush = jedis.brpoplpush("mylist", "mylist2",4);
System.out.println("brpoplpush = " + brpoplpush);
}
}
1.10、brpoplpush:将元素从一个列表转移到另外一个列表,格式是:brpoplpush 源list的key值 目的list的key值 过期时间
操作如下:
Java代码示例如下:
见上一个示例。
1.11、lset:设置指定索引的值,格式是:lset list的key 索引 新的值
操作如下:
Java代码示例如下:
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: lset操作示例
* lset:设置指定索引的值,格式是:lset list的key 索引 新的值
*/
public class List_lset_operation { public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 lset mylist2 1 55
*/
String lset = jedis.lset("mylist2", 1L, "55");
System.out.println("lset = " + lset);
}
}
1.12、linsert:插入元素,格式是:linsert list的key before|after 定位查找的值 添加的值
操作如下:
Java代码示例如下:
import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis; /**
* redis中对于List类型的: linsert操作示例
* linsert:插入元素,格式是:linsert list的key before|after 定位查找的值 添加的值
*/
public class List_linsert_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); /**
* 示例1: 相当于执行 linsert mylist2 after 3 66
*/
Long linsert = jedis.linsert("mylist2", BinaryClient.LIST_POSITION.AFTER, "3", "66");
System.out.println("linsert = " + linsert);
}
}
4、Redis中对List类型的操作命令的更多相关文章
- 6、Redis中对Hash类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 5、Redis中对Set类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 7、Redis中对ZSet类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ---------- ...
- 3、Redis中对String类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- Python(Redis 中 Set/Zset 类型数据和其他操作)
1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...
- Redis中一个String类型引发的惨案
曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示 ...
- redis中对list类型某个元素的查找和删除
我们的信息都是放到redis的缓存中,结构为list,如果知道特定的值的话,通过LREM key count value这样就可以.对于redis的list结构,获取某个位置的值通过 LINDE ...
- redis中各种数据类型对应的jedis操作命令
redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...
- Redis 中 String 类型的内存开销比较大
使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...
随机推荐
- 【逆向知识】开发WinDBG扩展DLL
如何开发WinDbg扩展DLL WinDbg扩展DLL是一组导出的回调函数,用于实现用户定义的命令.以便从内存转储中提取特定的信息.扩展dll由调试器引擎加载,可以在执行用户模式或内核模式调试时提供自 ...
- Flask--wtforms快速使用和表单验证(附示例)
一.Form类 表单提供WTForms中最高级别的API.它们包含您的字段定义,委托验证,获取输入,聚合错误,并且通常用作将所有内容组合在一起的粘合剂. class wtforms.form.Form ...
- Python 内置装饰器
内置的装饰器 内置的装饰器和普通的装饰器原理是一样的,只不过返回的不是函数,而是类对象,所以更难理解一些. @property 在了解这个装饰器前,你需要知道在不使用装饰器怎么写一个属性. d ...
- Python模块制作
在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 定义自己的模块 比如有这样一个文件test.py,在test.py中定义了函数add def add(a,b): ...
- Web 2.0应用客户端性能问题十大根源《转载》
前言 Web 2.0应用的推广为用户带来了全新的体验,同时也让开发人员更加关注客户端性能问题.最近,资深Web性能诊断专家.知名工具dynatrace的创始人之一Andreas Grabner根据自己 ...
- AdvStringGrid 删除数据
unit Unit6; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...
- C++ 虚函数及重载、重定义、重写
#include<iostream> usingnamespace std; class BASE { public: BASE()=default; BASE(int publicVal ...
- (二)Mybatis项目配置
第一节:environments Mybatis支持多个环境,可以任意配置 <environments default="development"> <envir ...
- php中的单引号与双引号详解
一.引号定义字符串 在Php中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes'"I am a string in double qu ...
- gluster学习(二)
GlusterFS卷管理 一.卷基本选项设置 1. 调整高速缓存大小 gluster volume set test-volume performance.cache-size 256MB 2. 详细 ...