最代码广告位
随便取个名字_哈哈的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头像
最近浏览
tss1997520 LV32020年12月30日
星星星星星星
yang12 LV12020年10月7日
星星
itxjvip LV22020年8月14日
星星星星
2045308383 LV22020年8月3日
星星星星
1143011510 LV122020年8月1日
月亮月亮月亮
666dddd LV12020年7月31日
星星
j1b2c31232020年7月29日
暂无贡献等级
minglie2020年7月26日
暂无贡献等级
haoayou LV72020年7月24日
月亮星星星星星星
Yang哈哈 LV62020年7月17日
月亮星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友