redis中List数据类型最全常用命令

一、引言

今天继续来学习redis基本数据类型的常用命令,redis中的命令难度不大,主要多练习就行了。

List数据类型是一个链表结构,操作中的key可以理解为链表中的名字。list类型每一个子元素都是String类型的双向链表,我们可以通过push、pop操作向list集合头部或者尾部删除、新增元素,这里list既可以作为栈,又可以作为队列。

大家可以先了解一下堆栈的概念 https://jingyan.baidu.com/article/6c67b1d6a09f9a2786bb1e4a.html

二、List数据类型常用命令

01 lpush :将一个元素或者多个元素新增到列表的头部,返回当前list中元素数量,采用的是

127.0.0.1:6379> lpush mylist duck
           (integer) 1
           127.0.0.1:6379> lpush mylist bear
           (integer) 2
           127.0.0.1:6379> 

02 lrange:返回list集合中指定区间中的元素,0下标代表第一个元素,-1代表最后一个元素。

127.0.0.1:6379> lrange mylist 0 -1
           1) "bear"
           2) "duck"
          127.0.0.1:6379> 

03 rpush:将一个元素或者多个元素新增到列表的尾部,返回当前list中元素数量,采用的是 队列

127.0.0.1:6379> rpush mylist2 bird
           (integer) 1
           127.0.0.1:6379> rpush mylist2 elephant
           (integer) 2
           127.0.0.1:6379> lrange mylist2 0 -1
           1) "bird"
           2) "elephant"
          127.0.0.1:6379> 

04 linsert:在指定列表的元素前或者后插入元素,以下是在bird元素之前插入tiger元素

127.0.0.1:6379> lrange mylist2 0 -1
           1) "bird"
           2) "elephant"
           127.0.0.1:6379> linsert mylist2 before bird tiger
           (integer) 3
           127.0.0.1:6379> lrange mylist2 0 -1
           1) "tiger"
           2) "bird"
           3) "elephant"
           127.0.0.1:6379> 

05 lset:设置list列表中指定元素下标的值, 下标0代表第一个元素,替换成了bear。

127.0.0.1:6379> lrange mylist2 0 -1
           1) "tiger"
           2) "bird"
           3) "elephant"
           127.0.0.1:6379> lset mylist2 0 bear
           OK
           127.0.0.1:6379> lrange mylist2 0 -1
           1) "bear"
           2) "bird"
           3) "elephant"
           127.0.0.1:6379> 

06 lrem:从对应list列表中删除n和value相同的元素,"lrem list  1 noe"代表在list列表中删除1和noe相同的元素。

127.0.0.1:6379> lrange list 0 -1
           1) "three"
           2) "tow"
           3) "noe"
           4) "noe"
          127.0.0.1:6379> lrem list 1 noe
          (integer) 1
          127.0.0.1:6379> lrange list 0 -1
          1) "three"
          2) "tow"
          3) "noe"
          127.0.0.1:6379>

07 ltrim:保留指定key值范围内的数据,已知list列表有三个元素,现在只想保留前两个,最后显示tow已经去掉了

127.0.0.1:6379> lrange list 0 -1
           1) "three"
           2) "noe"
           3) "tow"
           127.0.0.1:6379> ltrim list 0 1
           OK
           127.0.0.1:6379> lrange list 0 -1
           1) "three"
           2) "noe"
           127.0.0.1:6379> 

08 lpop:从列表头部删除一个元素,返回删除的元素值。

127.0.0.1:6379> lrange list 0 -1
           1) "three"
           2) "noe"
           127.0.0.1:6379> lpop list
           "three"
           127.0.0.1:6379> lrange list 0 -1
           1) "noe"
           127.0.0.1:6379> 

 

09 rpop:从列表尾部删除一个元素,返回删除的元素值。

127.0.0.1:6379> lrange list 0 -1
           1) "four"
           2) "three"
           3) "tow"
           4) "noe"
           127.0.0.1:6379> rpop list
           "noe"
           127.0.0.1:6379> lrange list 0 -1
           1) "four"
           2) "three"
           3) "tow"
          127.0.0.1:6379> 

10 rpoplpush:从第一个列表尾部移除一个元素并且添加到第二个列表中头部

从第一个列表中尾部移除一个元素 ,mylist2尾部的元素elephant 。 rpop命令干的事

往第二个列表的头部添加一个元素,list中的头部添加元素elephant。 lpush命令干的事

127.0.0.1:6379> lrange mylist2 0 -1
           1) "bear"
           2) "bird"
           3) "elephant"
           127.0.0.1:6379> lrange list 0 -1
           1) "four"
           2) "three"
           3) "tow"
           127.0.0.1:6379> rpoplpush mylist2 list
           "elephant"
           127.0.0.1:6379> lrange list 0 -1
          1) "elephant"
          2) "four"
          3) "three"
          4) "tow"
         127.0.0.1:6379>

11 lindex: 返回列表中指定下标的元素值,元素下标0开始

127.0.0.1:6379> lrange list 0 -1
           1) "elephant"
           2) "four"
           3) "three"
           4) "tow"
           127.0.0.1:6379> lindex list 0
            "elephant"
            127.0.0.1:6379> lindex list 3
            "tow"
            127.0.0.1:6379> 

12 llen:返回列表中元素的个数

127.0.0.1:6379> lrange list 0 -1
           1) "elephant"
           2) "four"
           3) "three"
           4) "tow"
           127.0.0.1:6379> llen list
           (integer) 4
           127.0.0.1:6379> 

 

©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值