• Redis 笔记(三)—— LIST 常用命令


    常用命令

    命令用例和描述
    RPUSH RPUSH key value [value ...] —— 将一个或多个值推入列表的右端
    LPUSH LPUSH key value [value ...] —— 将一个或多个值推入列表的左端
    RPOP RPOP key —— 移除并返回列表最右端的元素
    LPOP LPOP key —— 移除并返回列表最左端的元素
    LINDEX LINDEX key offset —— 返回列表中偏移量为 offset 的元素
    LRANGE LRANGE key start end —— 返回列表从 start 到 end 偏移量范围内的元素(包含 start, end)
    LTRIM LTRIM key start end —— 对列表进行修剪,只保留从 start 到 end 的元素(包含 start, end)

    例子 :

    127.0.0.1:6379> rpush list-key last
    (integer) 1
    127.0.0.1:6379> lpush list-key first
    (integer) 2
    127.0.0.1:6379> rpush list-key "new last"
    (integer) 3
    127.0.0.1:6379> lrange list-key 0 -1
    1) "first"
    2) "last"
    3) "new last"
    127.0.0.1:6379> lpop list-key
    "first"
    127.0.0.1:6379> lpop list-key
    "last"
    127.0.0.1:6379> lrange list-key 0 -1
    1) "new last"
    127.0.0.1:6379> rpush list-key a b c
    (integer) 4
    127.0.0.1:6379> lrange list-key 0 -1
    1) "new last"
    2) "a"
    3) "b"
    4) "c"
    127.0.0.1:6379> ltrim list-key 2 -1
    OK
    127.0.0.1:6379> lrange list-key 0 -1
    1) "b"
    2) "c"
     

    阻塞式的列表弹出命令以及在列表之间移动元素的命令

    命令用例和描述
    BLPOP BLPOP key [key ...] timeout —— 从第一个非空列表中弹出最左端的元素,或者在 timeout 秒之内阻塞并等待可弹出的元素出现
    BRPOP BRPOP key [key ...] timeout —— 基本同 BLPOP,只是是从最右端弹出
    RPOPLPUSH RPOPLPUSH source-key dest-key —— 从 source-key 列表中弹出最右端元素插入 dest-key 最左端,并返回此元素
    BRPOPLPUSH BRPOPLPUSH source-key dest-key timeout —— 从 source-key 列表弹出最右端的元素,插入到 dest-key 的最左端,并返回此元素,如果 source-key 为空,那么在 timeout 秒之内阻塞并等待可弹出的元素出现
    例子:
    127.0.0.1:6379> rpush list item1
    (integer) 1
    127.0.0.1:6379> rpush list item2
    (integer) 2
    127.0.0.1:6379> rpush list2 item3
    (integer) 1
    127.0.0.1:6379> brpoplpush list2 list 1
    "item3"
    127.0.0.1:6379> brpoplpush list2 list 1
    (nil)
    (1.01s)
    127.0.0.1:6379> lrange list 0 -1
    1) "item3"
    2) "item1"
    3) "item2"
    127.0.0.1:6379> lrange list2 0 -1
    (empty list or set)
    127.0.0.1:6379> brpoplpush list list2 1
    "item2"
    # BLPOP 会从左到右检查列表,并对最先遇到的非空列表执行弹出操作
    127.0.0.1:6379> blpop list list2 1
    1) "list"  # 弹出元素所属的列表
    2) "item3"  # 弹出的元素
    127.0.0.1:6379> blpop list list2 1
    1) "list"
    2) "item1"
    127.0.0.1:6379> blpop list list2 1
    1) "list2"
    2) "item2"
    127.0.0.1:6379> blpop list list2 1
    (nil) # 结果
    (1.04s) # 等待时间
     
  • 相关阅读:
    shell脚本编程-重定向
    web安全-剖析_基础构架剖析
    shell脚本编程-函数
    shell脚本编程-循环
    web安全-入侵基础
    shell脚本编程-检查和测试
    shell脚本编程-特殊字符
    shell脚本编程-计算方式
    python例子-抓取网站IP列表
    linux问题-APR not Found
  • 原文地址:https://www.cnblogs.com/zawier/p/8528071.html
Copyright © 2020-2023  润新知