4、Redis中对List类型的操作命令
1、对List类型的操作命令
1.1、lpush、rpush:添加值,格式是:lpush list的key item项的值(值可以有多个)
操作如下:(注意看从左、从右添加值后,元素在list中的位置)
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中对于List类型的: rpush、lpush 操作示例 5 */ 6 public class List_rpush_lpush_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相当于执行 rpush mylist v1 v2 v3 11 */ 12 Long rpush = jedis.rpush("mylist", "v1", "v2", "v3"); 13 System.out.println("rpush = " + rpush); 14 System.out.println("======================"); 15 16 /** 17 * 示例2: 相当于执行 lpush mylist v1 v2 v3 18 */ 19 Long lpush = jedis.lpush("mylist", "v11", "v22", "v33"); 20 System.out.println("lpush = " + lpush); 21 System.out.println("======================"); 22 } 23 }
1.2、lrange:按索引范围获取值,格式是:lrange list的key 起始索引 终止索引 (-1表示最后一个索引)
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 import java.util.List; 4 5 /** 6 * redis中对于List类型的: lrange 操作示例 7 */ 8 public class List_lrange_operation { 9 public static void main(String[] args) { 10 Jedis jedis = new Jedis("127.0.0.1",6379); 11 /** 12 * 示例1: 相当于执行 lrange mylist 0 -1 13 */ 14 List<String> mylist = jedis.lrange("mylist", 0, -1); 15 mylist.stream().forEach(System.out::println); 16 17 System.out.println("======================"); 18 List<String> mylist1 = jedis.lrange("mylist", 1, 2); 19 mylist1.stream().forEach(System.out::println); 20 21 } 22 }
1.3、lindex:获取指定索引的值,格式是:lindex list的key 索引号
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 import java.util.List; 4 5 /** 6 * redis中对于List类型的: lindex 操作示例 7 */ 8 public class List_lindex_operation { 9 public static void main(String[] args) { 10 Jedis jedis = new Jedis("127.0.0.1",6379); 11 /** 12 * 示例1: 相当于执行 lrange mylist 0 -1 13 */ 14 List<String> mylist = jedis.lrange("mylist", 0, -1); 15 mylist.stream().forEach(System.out::println); 16 17 /** 18 * 示例2: 相当于执行 lindex mylist 0 19 */ 20 String mylist1 = jedis.lindex("mylist", 0); 21 System.out.println("mylist1 = " + mylist1); 22 23 /** 24 * 示例4: 相当于执行 lindex mylist 4 25 */ 26 String mylist2 = jedis.lindex("mylist", 4); 27 System.out.println("mylist2 = " + mylist2); 28 } 29 }
1.4、lpop、rpop:弹出值,格式是:lpop list的key
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中对于List类型的: lpop、rpop 操作示例 5 */ 6 public class List_lpop_rpop_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相当于执行 lpop mylist 11 */ 12 String lpop = jedis.lpop("mylist"); 13 System.out.println("lpop = " + lpop); 14 15 /** 16 * 示例2: 相当于执行 rpop mylist 17 */ 18 String rpop = jedis.rpop("mylist"); 19 System.out.println("rpop = " + rpop); 20 } 21 }
1.5、llen:获取list中元素的个数,格式是:llen list的key
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中对于List类型的: llen 操作示例 5 */ 6 public class List_llen_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相当于执行 llen mylist 11 */ 12 Long llen = jedis.llen("mylist"); 13 System.out.println("llen = " + llen); 14 } 15 }
1.6、lrem:删除元素,格式是:lrem list的key 数量 item项的值,(数量可正负,表示从左或从右删除;如果数量为0,表示删除全部与给定值相符的项)
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中对于List类型的: lrem 操作示例 5 */ 6 public class List_lrem_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相当于执行 lrem mylist 0 a 11 */ 12 Long lrem = jedis.lrem("mylist",0,"a"); 13 System.out.println("lrem = " + lrem); 14 } 15 }
1.7、ltrim:保留指定索引区间的元素,格式是:ltrim list的key 起始索引 结束索引
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中对于List类型的: ltrim 操作示例 5 */ 6 public class List_ltrim_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相当于执行 ltrim mylist 0 1 11 */ 12 String ltrim = jedis.ltrim("mylist",0,1); 13 System.out.println("ltrim = " + ltrim); 14 } 15 }
1.8、blpop、brpop:弹出值,格式是:blpop list的key值 过期时间。(key可以是多个,如果没有值,会一直等到有值,直到过期)
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 import java.util.List; 4 5 /** 6 * redis中对于List类型的: blpop、brpop 操作示例 7 */ 8 public class List_blpop_brpop_operation { 9 public static void main(String[] args) { 10 Jedis jedis = new Jedis("127.0.0.1",6379); 11 /** 12 * 示例1: 相当于执行 blpop mylist 5 13 */ 14 List<String> mylist = jedis.blpop(5, "mylist"); 15 mylist.stream().forEach(System.out::println); 16 17 System.out.println("==========="); 18 /** 19 * 示例2: 相当于执行 ltrim mylist 0 1 20 */ 21 List<String> mylist2 = jedis.brpop(5, "mylist"); 22 mylist2.stream().forEach(System.out::println); 23 24 } 25 }
1.9、rpoplpush:将元素从一个列表转移到另外一个列表,格式是:rpoplpush 源list的key值 目的list的key值
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中对于List类型的: rpoplpush、brpoplpush 操作示例 5 * rpoplpush:将元素从一个列表转移到另外一个列表,格式是:rpoplpush 源list的key值 目的list的key值 6 * brpoplpush:将元素从一个列表转移到另外一个列表,格式是:brpoplpush 源list的key值 目的list的key值 过期时间 7 */ 8 public class List_rpoplpush_brpoplpush_operation { 9 public static void main(String[] args) { 10 Jedis jedis = new Jedis("127.0.0.1",6379); 11 /** 12 * 示例1: 相当于执行 rpoplpush mylist mylist2 13 */ 14 String rpoplpush = jedis.rpoplpush("mylist", "mylist2"); 15 System.out.println("rpoplpush = " + rpoplpush); 16 17 /** 18 * 示例2: 相当于执行 brpoplpush mylist mylist2 4 19 */ 20 String brpoplpush = jedis.brpoplpush("mylist", "mylist2",4); 21 System.out.println("brpoplpush = " + brpoplpush); 22 } 23 }
1.10、brpoplpush:将元素从一个列表转移到另外一个列表,格式是:brpoplpush 源list的key值 目的list的key值 过期时间
操作如下:
Java代码示例如下:
见上一个示例。
1.11、lset:设置指定索引的值,格式是:lset list的key 索引 新的值
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中对于List类型的: lset操作示例 5 * lset:设置指定索引的值,格式是:lset list的key 索引 新的值 6 */ 7 public class List_lset_operation { 8 9 public static void main(String[] args) { 10 Jedis jedis = new Jedis("127.0.0.1",6379); 11 /** 12 * 示例1: 相当于执行 lset mylist2 1 55 13 */ 14 String lset = jedis.lset("mylist2", 1L, "55"); 15 System.out.println("lset = " + lset); 16 } 17 }
1.12、linsert:插入元素,格式是:linsert list的key before|after 定位查找的值 添加的值
操作如下:
Java代码示例如下:
1 import redis.clients.jedis.BinaryClient; 2 import redis.clients.jedis.Jedis; 3 4 /** 5 * redis中对于List类型的: linsert操作示例 6 * linsert:插入元素,格式是:linsert list的key before|after 定位查找的值 添加的值 7 */ 8 public class List_linsert_operation { 9 public static void main(String[] args) { 10 Jedis jedis = new Jedis("127.0.0.1",6379); 11 12 /** 13 * 示例1: 相当于执行 linsert mylist2 after 3 66 14 */ 15 Long linsert = jedis.linsert("mylist2", BinaryClient.LIST_POSITION.AFTER, "3", "66"); 16 System.out.println("linsert = " + linsert); 17 } 18 }