zoukankan      html  css  js  c++  java
  • 峰Redis学习(4)Redis 数据结构(List的操作)

    第四节:Redis 数据结构之List 类型  
    存储list:
    ArrayList使用数组方式
    LinkedList使用双向链接方式
     
    双向链接表中增加数据
    双向链接表中删除数据
     
    存储list常用命令
    两端添加
    两端弹出
    扩展命令
     
    下面是操作命令的例子:
     
    lpush 方式从左边开始添加
    127.0.0.1:6379> lpush list1 a b c d
    (integer) 4
    127.0.0.1:6379> lpush list1 1 2 3 4
    (integer) 8
    127.0.0.1:6379> lrange list1 0 -1
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "d"
    6) "c"
    7) "b"
    8) "a"
    127.0.0.1:6379> lrange list1 0 4
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "d"
    rpush 从右端开始添加(一般人比较习惯这种方式)
    127.0.0.1:6379> rpush list2 a b c d
    (integer) 4
    127.0.0.1:6379> rpush list2 1 2 3 4
    (integer) 8
    127.0.0.1:6379> lrange list2 0 -1
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "1"
    6) "2"
    7) "3"
    8) "4"
    rpop 右侧弹出集合元素
    127.0.0.1:6379> lrange list2 0 -1
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "1"
    6) "2"
    7) "3"
    8) "4"
    127.0.0.1:6379> rpop list2
    "4"
    127.0.0.1:6379> lrange list2 0 -1
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "1"
    6) "2"
    7) "3"
    lpop 左侧弹出集合元素
    127.0.0.1:6379> lrange list2 0 -1
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "1"
    6) "2"
    7) "3"
    127.0.0.1:6379> lpop list2
    "a"
    127.0.0.1:6379> lrange list2 0 -1
    1) "b"
    2) "c"
    3) "d"
    4) "1"
    5) "2"
    6) "3"
    llen查看元素个数
    127.0.0.1:6379> llen list2
    (integer) 6
    lpushx 集合头部插入元素
    127.0.0.1:6379> lrange list2 0 -1
    1) "b"
    2) "c"
    3) "d"
    4) "1"
    5) "2"
    6) "3"
    127.0.0.1:6379> lpushx list2 zhangsan
    (integer) 7
    127.0.0.1:6379> lrange list2 0 -1
    1) "zhangsan"
    2) "b"
    3) "c"
    4) "d"
    5) "1"
    6) "2"
    7) "3"
    rpushx 集合尾部插入元素
    127.0.0.1:6379> lrange list2 0 -1
    1) "zhangsan"
    2) "b"
    3) "c"
    4) "d"
    5) "1"
    6) "2"
    7) "3"
    127.0.0.1:6379> rpushx list2 lisi
    (integer) 8
    127.0.0.1:6379> lrange list2 0 -1
    1) "zhangsan"
    2) "b"
    3) "c"
    4) "d"
    5) "1"
    6) "2"
    7) "3"
    8) "lisi"
    lpush集合头部插入多个元素
    rpush集合尾部插入多个元素
    127.0.0.1:6379> lrange list2 0 -1
    1) "b"
    2) "c"
    3) "d"
    4) "1"
    5) "2"
    6) "3"
    127.0.0.1:6379> lpush list2 a1 a2
    (integer) 8
    127.0.0.1:6379> lrange list2 0 -1
    1) "a2"
    2) "a1"
    3) "b"
    4) "c"
    5) "d"
    6) "1"
    7) "2"
    8) "3"
    127.0.0.1:6379> lrange list2 0 -1
    1) "b"
    2) "c"
    3) "d"
    4) "1"
    5) "2"
    6) "3"
    127.0.0.1:6379> rpush list2 zhangsan lisi
    (integer) 8
    127.0.0.1:6379> lrange list2 0 -1
    1) "b"
    2) "c"
    3) "d"
    4) "1"
    5) "2"
    6) "3"
    7) "zhangsan"
    8) "lisi"
    lrem 从指定方向删除指定个数的指定元素
    127.0.0.1:6379> lpush list4 1 3 2 3 2 1 2 1 3
    (integer) 9
    127.0.0.1:6379> lrange list4 0 -1
    1) "3"
    2) "1"
    3) "2"
    4) "1"
    5) "2"
    6) "3"
    7) "2"
    8) "3"
    9) "1"
    从左边开始删除2个1
    127.0.0.1:6379> lrem list4 2 1
    (integer) 2
    127.0.0.1:6379> lrange list4 0 -1
    1) "3"
    2) "2"
    3) "2"
    4) "3"
    5) "2"
    6) "3"
    7) "1"
    从右边开始删除2个3
    127.0.0.1:6379> lrem list4 -2 3
    (integer) 2
    127.0.0.1:6379> lrange list4 0 -1
    1) "3"
    2) "2"
    3) "2"
    4) "2"
    5) "1"
    删除所有2
    127.0.0.1:6379> lrem list4 0 2
    (integer) 3
    127.0.0.1:6379> lrange list4 0 -1
    1) "3"
    2) "1"
    lset 设置集合指定索引的值
    127.0.0.1:6379> lrange list1 0 -1
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "d"
    6) "c"
    7) "b"
    8) "a"
    127.0.0.1:6379> lset list1 3 xxxx
    OK
    127.0.0.1:6379> lrange list1 0 -1
    1) "4"
    2) "3"
    3) "2"
    4) "xxxx"
    5) "d"
    6) "c"
    7) "b"
    8) "a"
    linsert 在集合里插入指定元素
    在xxxx元素之前插入aa
    127.0.0.1:6379> linsert list1 before xxxx aa
    (integer) 9
    127.0.0.1:6379> lrange list1 0 -1
    1) "4"
    2) "3"
    3) "2"
    4) "aa"
    5) "xxxx"
    6) "d"
    7) "c"
    8) "b"
    9) "a"
    在xxxx元素之后插入bb
    127.0.0.1:6379> linsert list1 after xxxx bb
    (integer) 10
    127.0.0.1:6379> lrange list1 0 -1
     1) "4"
     2) "3"
     3) "2"
     4) "aa"
     5) "xxxx"
     6) "bb"
     7) "d"
     8) "c"
     9) "b"
    10) "a"
    rpoplpush 把A集合尾部元素弹出并插入到B集合头部
    127.0.0.1:6379> rpush list5 a b c
    (integer) 3
    127.0.0.1:6379> rpush list6 1 2 3
    (integer) 3
    127.0.0.1:6379> rpoplpush list5 list6
    "c"
    127.0.0.1:6379> lrange list5 0 -1
    1) "a"
    2) "b"
    127.0.0.1:6379> lrange list6 0 -1
    1) "c"
    2) "1"
    3) "2"
    4) "3"
  • 相关阅读:
    top 500 name
    dede 5.7 爆后台
    Mac中GDB安装
    php strcmp bypass漏洞
    文件时间伪造
    C#读取计算机插入USB历史记录
    MySQL远程连接时出现10061以及1045错误时的解决方法
    MDN 开发者分享平台
    thinkphp 3.2 完全开发手册地址
    PHP 解析JSON数组
  • 原文地址:https://www.cnblogs.com/tenWood/p/8684843.html
Copyright © 2011-2022 走看看