zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    SSM-最新pom.xml
    maven项目中找不到Maven Dependencies解决办法
    模拟实现MyBatis中通过SQL反射实体类对象功能
    Maven
    多台服务器下同步文件夹数据(rsync+inotify)
    启动tomcat时,一直卡在Deploying web application directory这块的解决方案
    阿里云服务器排查带宽流量过大的程序
    计算并列排名的算法
    Bootstrap基础篇—常见的CSS类
    别再看Promise 了,尝试下自己用JS 封装实现任务队列。
  • 原文地址:https://www.cnblogs.com/xinhuaxuan/p/9252111.html
Copyright © 2011-2022 走看看