写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------

--------------------------------------------------------------------

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类型的操作命令的更多相关文章

  1. 6、Redis中对Hash类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  2. 5、Redis中对Set类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  3. 7、Redis中对ZSet类型的操作命令

    写在前面的话:读书破万卷,编码如有神 --------------------------------------------------------------------   ---------- ...

  4. 3、Redis中对String类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  5. Python(Redis 中 Set/Zset 类型数据和其他操作)

    1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...

  6. Redis中一个String类型引发的惨案

    ​      曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示 ...

  7. redis中对list类型某个元素的查找和删除

    我们的信息都是放到redis的缓存中,结构为list,如果知道特定的值的话,通过LREM  key  count  value这样就可以.对于redis的list结构,获取某个位置的值通过 LINDE ...

  8. redis中各种数据类型对应的jedis操作命令

    redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...

  9. Redis 中 String 类型的内存开销比较大

    使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...

随机推荐

  1. 超简单的qps统计方法(推荐)【转】

    统计最近N秒内的QPS值(包括每秒select,insert等值) mysql> select variable_name,sum(per_sec) as qps from (select st ...

  2. kettle简单插入与更新

    Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程序员MATT 希望 ...

  3. sql loader 控制文件使用十六进制分隔符

    最近项目中使用到了sql loader加载数据文件至数据库,提供的文件中使用了十六进制 7F5E 分隔符,在sql loader中如何加载呢? 经过查询实验后,控制文件ctl内容如下: load da ...

  4. 洛谷P2746校园网

    传送门啦 下面来看任务B.我们发现,图中只要存在入度为0的点和出度为0的点就永远不可能满足要求:" 不论我们给哪个学校发送新软件,它都会到达其余所有的学校 ".我们还发现,只要在入 ...

  5. 使用JS实现文字搬运工

    使用JS实现文字搬运工 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html><head><meta http-equiv=&quo ...

  6. C++之构造函数的继承

    #include<iostream> usingnamespace std; classBase1 { public: Base1()=default; Base1(const strin ...

  7. sql newid()随机函数

    从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid()order by 一般是根据某一字段排序,newid()的返回值 是uniqueidenti ...

  8. Celery 框架学习笔记(生产者消费者模式)

    生产者消费者模式 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类.函数.线程.进程等).产生数据的模块,就形象地称为生产 ...

  9. 程序设计实习MOOC / 程序设计与算法(一)第二周测验(2018春季)

    编程题: 1:对齐输出 总时间限制:  1000ms 内存限制:  65536kB 描述 读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们. 输入 只有一行,包含三个整数,整数之间以一个空格分 ...

  10. Java 中常见数据类型的相互转换

    1.将String 转化成 long , 转化成 double String 转化成 long : long i = Long.parseLong(String s);    或 long i = L ...