随便取个名字_哈哈的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头像
最近浏览
487948123 LV77小时前
月亮星星星星星星
love小黑 LV612小时前
月亮星星星星
useroo LV3昨天
星星星星星星
229865249昨天
暂无贡献等级
无上英雄 LV7昨天
月亮星星星星星星
最代码_码鑫源 LV57月6日
月亮星星
Rommel LV237月4日
太阳月亮星星星星星星
80730176 LV36月30日
星星星星星星
清欢hello LV36月27日
星星星星星星
wxjwhqwy LV296月26日
太阳月亮月亮月亮星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友