《Redis使用手册之列表》

《Redis使用手册之列表》

LPUSH:将元素推入列表左端

  • 127.0.0.1:6379> lpush list aa bb cc
    (integer) 3
    127.0.0.1:6379> rpush list dd ee ff
    (integer) 6

    lpush :将元素推入列表左端 lpush list aa bb cc 可一次推入多个元素

    LPUSH:将元素推入列表左端

LPUSHX、RPUSHX:只对已存在的列表执行推入操作

  • 127.0.0.1:6379> lpushx list1 aa
    (integer) 0
    127.0.0.1:6379> rpushx list1 aa
    (integer) 0

    LPUSHX命令只会在列表已经存在的情况下,将元素推入列表左端 RPUSHX命令只会在列表已经存在的情况下,将元素推入列表右端。

    LPUSHX命令只会在列表已经存在的情况下,将元素推入列表左端。●RPUSHX命令只会在列表已经存在的情况下,将元素推入列表右端。

LPOP:弹出列表最左端的元素

  • 127.0.0.1:6379> lpop list
    “cc”
    127.0.0.1:6379> lpop list
    “bb”
    127.0.0.1:6379> lpop list
    “aa”

    LPOP:弹出列表最左端的元素。 后进先出

    LPOP:弹出列表最左端的元素

RPOP:弹出列表最右端的元素

  • 127.0.0.1:6379> rpop list
    “ff”

    RPOP:弹出列表最右端的元素

    RPOP:弹出列表最右端的元素

RPOPLPUSH:将右端弹出的元素推入左端

  • 127.0.0.1:6379> rpush list1 a b c
    (integer) 3
    127.0.0.1:6379> rpush list2 d e f
    (integer) 3
    127.0.0.1:6379> rpoplpush list1 list2
    “c”
    127.0.0.1:6379> rpoplpush list1 list2
    “b”
    127.0.0.1:6379> rpoplpush list1 list2
    “a”
    127.0.0.1:6379> rpoplpush list1 list1
    (nil)

    127.0.0.1:6379> rpoplpush list2 list3
    “f”

    列表 list1中的元素已经全部被推至list2中。

    RPOPLPUSH:将右端弹出的元素推入左端

    RPOPLPUSH source target 源列表和目标列表相同 在这种情况下,RPOPLPUSH命令的效果相当于将列表最右端的元素变成列表最左端的元素。

    处理空列表

    如果用户传给RPOPLPUSH命令的源列表并不存在,那么RPOPLPUSH命令将放弃执行弹出和推入操作,只返回一个空值表示命令执行失败。

    如果源列表非空,但是目标列表为空,RPOPLPUSH命令将正常执行弹出操作和推入操作

    RPOPLPUSH:将右端弹出的元素推入左端

LLEN:获取列表的长度

  • 127.0.0.1:6379> llen list1
    (integer) 0
    127.0.0.1:6379> llen list2
    (integer) 5

    LLEN:获取列表的长度

    LLEN:获取列表的长度

LINDEX:获取指定索引上的元素

  • 127.0.0.1:6379> lindex list2 0
    “a”
    127.0.0.1:6379> lindex list2 2
    “c”
    127.0.0.1:6379> lindex list2 1
    “b”
    127.0.0.1:6379> lindex list2 -1
    “e”
    127.0.0.1:6379> lindex list2 -2
    “d”

    LINDEX:获取指定索引上的元素。 正数索引从列表的左端开始计算,一次向右端递增:最左端元素的索引为0 负数索引从列表的右端开始计算,一次向左端递减:最右端元素的索引为-1.

    LINDEX:获取指定索引上的元素

LRANGE:获取指定索引范围上的元素

127.0.0.1:6379> lrange list2 0 -1

  1. “a”
  2. “b”
  3. “c”
  4. “d”
  5. “e”

在这里插入图片描述

LRANGE:获取指定索引范围上的元素 LRANGE list start end

LRANGE:获取指定索引范围上的元素

LSET:为指定索引设置新元素

  • 127.0.0.1:6379> lset list2 -1 f
    OK
    127.0.0.1:6379> lrange list2 0 -1

    1. “a”
    2. “b”
    3. “c”
    4. “d”
    5. “f”

    在这里插入图片描述

    LSET:为指定索引设置新元素 LSET list index new_element

    LSET:为指定索引设置新元素

LINSERT:将元素插入列表

  • 127.0.0.1:6379> linsert list2 after f g
    (integer) 6
    127.0.0.1:6379> lrange list2 0 -1

    1. “a”
    2. “b”
    3. “c”
    4. “d”
    5. “f”
    6. “g”

    在这里插入图片描述

    LINSERT:将元素插入列表 LINSERT list BEFORE|AFTER target_element new_element

    LINSERT:将元素插入列表

4.12 LTRIM:修剪列表

  • 127.0.0.1:6379> ltrim list2 0 4
    OK
    127.0.0.1:6379> lrange list2 0 -1

    1. “a”
    2. “b”
    3. “c”
    4. “d”
    5. “f”

    在这里插入图片描述

    LTRIM:修建列表 LTRIM命令接受一个列表和一个索引范围为参数,并移除列表中位于索引范围之外的所有元素,只保留给定范围之内的元素。 LTRIM list start end 与LRANGE命令一样,LTRIM命令不仅可以处理正数索引,还可以处理负数索引。

    LTRIM:修剪列表LTRIM命令接受一个列表和一个索引范围作为参数,并移除列表中位于给定索引范围之外的所有元素,只保留给定范围之内的元素

LREM:从列表中移除指定元素

  • 127.0.0.1:6379> rpush list5 a b b a c c a
    (integer) 7
    127.0.0.1:6379> rpush list6 a b b a c c a
    (integer) 7
    127.0.0.1:6379> rpush list7 a b b a c c a
    (integer) 7
    127.0.0.1:6379> lrem list5 0 a
    (integer) 3
    127.0.0.1:6379> lrange list5 0 -1

    1. “b”
    2. “b”
    3. “c”
    4. “c”
      127.0.0.1:6379> lrem list6 1 a
      (integer) 1
      127.0.0.1:6379> lrange list6 0 -1
    5. “b”
    6. “b”
    7. “a”
    8. “c”
    9. “c”
    10. “a”
      127.0.0.1:6379> lrem list7 -1 a
      (integer) 1

    在这里插入图片描述

    LREM:从列表中移除指定元素 LREM list count element count参数的值决定了LREM命令移除元素的方式:

    如果count参数的值等于0,那么LREM命令将移除列表中包含的所有指定元素。

    如果count参数的值大于0,那么LREM命令将从列表的左端开始向右进行检查,并移除最先发现的count个指定元素。

    如果count参数的值小于0,那么LREM命令将从列表的右端开始向左进行检查,并移除最先发现的abs(count)个指定元素。abs即count的绝对值。

    LREM:从列表中移除指定元素

BLPOP:阻塞式左端弹出操作

  • 127.0.0.1:6379> blpop list2 5

    1. “list2”
    2. “a”
      127.0.0.1:6379> blpop list2 5 5
    3. “list2”
    4. “b”
      127.0.0.1:6379> blpop list2 50
    5. “list2”
    6. “c”

BLPOP:阻塞式左端弹出操作 BLPOP命令式带有阻塞的左端弹出操作,它接受任意多个列表以及一个妙计精度的超时时限作为参数: BLPOP list [list …] timeout

BLPOP:阻塞式左端弹出操作BLPOP命令是带有阻塞功能的左端弹出操作,它接受任意多个列表以及一个秒级精度的超时时限作为参数:

BRPOP:阻塞式右端弹出操作

  • 127.0.0.1:6379> brpop list2 30 30

    1. “list2”
    2. “f”

    BRPOP:阻塞式右端弹出操作 BRPOP命令式带有阻塞功能的右端弹出操作,除了弹出的方向不同之外,其他方面都和BLPOP命令一样。

    BRPOP:阻塞式右端弹出操作BRPOP命令是带有阻塞功能的右端弹出操作,除了弹出的方向不同之外,其他方面都和BLPOP命令一样:

BRPOPLPUSH:阻塞式弹出并推入操作

  • BRPOPLPUSH:阻塞式弹出并推入操作 BRPOPLPUSH命令式RPOPLPUSH命令的阻塞版本,BRPOPPUSH命令接受一个源列表、一个目标列表以及一个妙级精度的超时时限作为参数: BRPOPLPUSH source target timeout

BRPOPLPUSH:阻塞式弹出并推入操作BRPOPLPUSH命令是RPOPLPUSH命令的阻塞版本,BRPOPLPUSH命令接受一个源列表、一个目标列表以及一个秒级精度的超时时限作为参数:

相关推荐

  1. Redis使用手册字符串

    2024-05-01 11:18:03       34 阅读
  2. Redis使用手册持久化存储》

    2024-05-01 11:18:03       37 阅读
  3. Redis使用手册发布与订阅》

    2024-05-01 11:18:03       31 阅读
  4. Redis使用手册HyperLog与地理坐标应用》

    2024-05-01 11:18:03       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 11:18:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 11:18:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 11:18:03       82 阅读
  4. Python语言-面向对象

    2024-05-01 11:18:03       91 阅读

热门阅读

  1. MySQL8.0安装Mcafee审计插件

    2024-05-01 11:18:03       28 阅读
  2. 深入探索C++ STL中的vector容器:从基础到实践

    2024-05-01 11:18:03       31 阅读
  3. k8s crd inferenceservices.serving.kserve.io

    2024-05-01 11:18:03       28 阅读
  4. 浅谈电能质量电网谐波

    2024-05-01 11:18:03       29 阅读
  5. librosa 语音识别 学习笔记

    2024-05-01 11:18:03       35 阅读
  6. 好用的电子文档管理系统应具备哪些功能?

    2024-05-01 11:18:03       32 阅读
  7. 电脑镜像下载

    2024-05-01 11:18:03       29 阅读
  8. 图计算浅谈:主流图存储引擎/图搜索算法

    2024-05-01 11:18:03       27 阅读
  9. leetcode 92. 反转链表 II

    2024-05-01 11:18:03       28 阅读
  10. 【数据结构与算法】力扣 150. 逆波兰表达式求值

    2024-05-01 11:18:03       35 阅读
  11. XML 映射文件(Mapper 文件)的命名空间

    2024-05-01 11:18:03       31 阅读
  12. 零基础玩转Linux+Ubuntu实战视频课程

    2024-05-01 11:18:03       38 阅读