List

文章目录

  • List
    • 常用命令
      • lpush/rpush/lrange
      • lpop/rpop
      • lindex 按照下标取得值
      • llen 获取元素个数
      • lrem key
      • ltrim key
      • rpoplpush
      • lset key index value
      • linsert key before/after 已有值 插入的新值

常用命令

List特点:单值多value,value值可以重复

命令作用
lpush从左往右存值
rpush从右往左存值
lrange取值(只有从左往右取值)
lpop从左边弹出一个值
rpop从右边弹出一个值
lindex按照下标取得值
llen获取元素个数
lren key 数字N 给定值V1解释(删除N个值等于V1的元素)
ltrim key 开始index 结束index截取置顶范围的值后在赋值给key
rpoplpush 弹出的列表 接收的列表弹出列表弹出最后一个字段,接收列表接受字段
lset key index value替换值
linsert key before/after 已有值往前或者往后插入的新值

lpush/rpush/lrange

lpush 从左往右存值

127.0.0.1:6379> lpush list1 1 2 3 4 5(integer) 5

lrange 取值(只有从左往右取值)

127.0.0.1:6379> lrange list1 0 -11) "5"2) "4"3) "3"4) "2"5) "1"

rpush 从右往左存值

127.0.0.1:6379> rpush list2 1 2 3 4 5(integer) 5

lrange 取值(只有从左往右取值)

127.0.0.1:6379> lrange list2 0 -11) "1"2) "2"3) "3"4) "4"5) "5"

lpop/rpop

lpop 从左边弹出一个值

127.0.0.1:6379> lpop list1"5"127.0.0.1:6379> lrange list1 0 -11) "4"2) "3"3) "2"4) "1"

rpop 从右边弹出一个值

127.0.0.1:6379> rpop list1 "1"127.0.0.1:6379> lrange list1 0 -11) "4"2) "3"3) "2"

lindex 按照下标取得值

127.0.0.1:6379> lrange list1 0 -11) "4"2) "3"3) "2"127.0.0.1:6379> lindex list1 0"4"

llen 获取元素个数

127.0.0.1:6379> llen list1(integer) 3

lrem key

lren key 数字N 给定值V1 解释(删除N个值等于V1的元素)

127.0.0.1:6379> lpush list1 1 1 1 1 2 3 4 5 6(integer) 9127.0.0.1:6379> lrange list1 0 -11) "6"2) "5"3) "4"4) "3"5) "2"6) "1"7) "1"8) "1"9) "1"127.0.0.1:6379> lrem list1 3 1(integer) 3127.0.0.1:6379> lrange list1 0 -11) "6"2) "5"3) "4"4) "3"5) "2"6) "1"

ltrim key

ltrim key 开始index 结束index,截取置顶范围的值后在赋值给key

127.0.0.1:6379> lrange list1 0 -11) "6"2) "5"3) "4"4) "3"5) "2"6) "1"127.0.0.1:6379> ltrim list1 2 5OK127.0.0.1:6379> lrange list1 0 -11) "4"2) "3"3) "2"4) "1"127.0.0.1:6379> 

rpoplpush

rpoplpush 弹出的列表 接受的列表

127.0.0.1:6379> lrange list2 0 -11) "11"2) "12"3) "13"127.0.0.1:6379> lrange list1 0 -11) "4"2) "3"3) "2"4) "1"127.0.0.1:6379> rpoplpush list1 list2"1"127.0.0.1:6379> lrange list1 0 -11) "4"2) "3"3) "2"127.0.0.1:6379> lrange list2 0 -11) "1"2) "11"3) "12"4) "13"

lset key index value

替换值

127.0.0.1:6379> lrange list1 0 -11) "4"2) "3"3) "2"127.0.0.1:6379> lset list1 1 mysqlOK127.0.0.1:6379> lrange list1 0 -11) "4"2) "mysql"3) "2"

linsert key before/after 已有值 插入的新值

127.0.0.1:6379> linsert list1 before mysql java(integer) 4127.0.0.1:6379> lrange list1 0 -11) "4"2) "java"3) "mysql"4) "2"