随便取个名字_哈哈的gravatar头像
随便取个名字_哈哈 2020-06-23 23:09:19
redis基础之List

Redis的List类型

#############################################

所有的List命令以“L”开头

左插入:lpush

因为是从左边插入,第一个插入的数据,被推向左右边,然后,数据从左到右读取,所以,lrange遍历是three,two,one

127.0.0.1:6379> lpush list one

(integer) 1

127.0.0.1:6379> lpush list two

(integer) 2

127.0.0.1:6379> lpush list three

(integer) 3

127.0.0.1:6379> lrange list

(error) ERR wrong number of arguments for 'lrange' command

127.0.0.1:6379> lrange list 0 -1

1) "three"

2) "two"

3) "one"

#############################################

右插入:rpush

使用右插入时,那么one就不是右边第一个了,right才是右边第一个

127.0.0.1:6379> rpush list right

(integer) 4

127.0.0.1:6379> lrange list 0 -1

1) "three"

2) "two"

3) "one"

4) "right"

#############################################

左边移除:lpop

127.0.0.1:6379> lrange list 0 -1

1) "three"

2) "two"

3) "one"

4) "right"

127.0.0.1:6379> lpop list

"three"

127.0.0.1:6379> lrange list 0 -1

1) "two"

2) "one"

3) "right"

#############################################

右移除:rpop

127.0.0.1:6379> lrange list 0 -1

1) "two"

2) "one"

3) "right"

127.0.0.1:6379> rpop list

"right"

127.0.0.1:6379> lrange list 0 -1

1) "two"

2) "one"

#############################################

获取某个list特定下标的值:lindex

127.0.0.1:6379> lrange list 0 -1

1) "two"

2) "one"

127.0.0.1:6379> lindex list 1

"one"

127.0.0.1:6379> lindex list 0

"two"

#############################################

获取list的长度:llen

127.0.0.1:6379> lrange list 0 -1

1) "two"

2) "one"

127.0.0.1:6379> llen list

(integer) 2

#############################################

删除特定的值:lrem

lrem list 2 two:代表移除list里面的两个two

127.0.0.1:6379> lrange list 0 -1

1) "two"

2) "two"

3) "one"

127.0.0.1:6379> lrem list 2 two

(integer) 2

127.0.0.1:6379> lrange list 0 -1

1) "one"

#############################################

截取list:ltrim。ltrim list 1 2:只保留序号为1和序号为2的元素。

127.0.0.1:6379> rpush list hello1

(integer) 1

127.0.0.1:6379> rpush list hello2

(integer) 2

127.0.0.1:6379> rpush list hello3

(integer) 3

127.0.0.1:6379> rpush list hello4

(integer) 4

127.0.0.1:6379> lrange list 0 -1

1) "hello1"

2) "hello2"

3) "hello3"

4) "hello4"

127.0.0.1:6379> ltrim list 1 2

OK

127.0.0.1:6379> lrange list 0 -1

1) "hello2"

2) "hello3"

#############################################

移除并压入:rpoplpush

rpoplpush list otherList:把list的最右边的元素:hello0弹出,并压入了otherList中

127.0.0.1:6379> lpush list hello0

(integer) 1

127.0.0.1:6379> lpush list hello1

(integer) 2

127.0.0.1:6379> lpush list hello2

(integer) 3

127.0.0.1:6379> lrange list 0 -1

1) "hello2"

2) "hello1"

3) "hello0"

127.0.0.1:6379> rpoplpush list otherList

"hello0"

127.0.0.1:6379> lrange list 0 -1

1) "hello2"

2) "hello1"

127.0.0.1:6379> lrange otherList 0 -1

1) "hello0"

#############################################

修改list的值:lset,将指定下标的值,修改成另一个值。如果不存在列表,或者不存在列表下标的值,就会报错。

127.0.0.1:6379> lpush list hello1

(integer) 1

127.0.0.1:6379> lrange list 0 -1

1) "hello1"

127.0.0.1:6379> lset list 0 value1

OK

127.0.0.1:6379> lrange list 0 -1

1) "value1"

#############################################

在特定位置插入值:linsert

127.0.0.1:6379> rpush list hello

(integer) 1

127.0.0.1:6379> rpush list world

(integer) 2

127.0.0.1:6379> lrange list 0 -1

1) "hello"

2) "world"

127.0.0.1:6379> linsert list before world other

(integer) 3

127.0.0.1:6379> lrange list 0 -1

1) "hello"

2) "other"

3) "world"

127.0.0.1:6379> linsert list after world new

(integer) 4

127.0.0.1:6379> lrange list 0 -1

1) "hello"

2) "other"

3) "world"

4) "new"


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
掉渣哥  LV8 2021年6月7日
tss1997520  LV3 2020年12月30日
yang12  LV1 2020年10月7日
itxjvip  LV2 2020年8月14日
2045308383  LV2 2020年8月3日
1143011510  LV15 2020年8月1日
666dddd  LV1 2020年7月31日
j1b2c3123 2020年7月29日
暂无贡献等级
minglie 2020年7月26日
暂无贡献等级
haoayou  LV8 2020年7月24日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友