linux list 类型,Redis数据类型之List类型

redis常用命令: 

linux获取redis中的所有库 redis获取数据命令_桃太郎的技术博客_51CTO博客

List类型及操作

List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。

lpush

在key对应list的头部添加字符串元素。

127.0.0.1:6379> lpush mylist "world"

(integer) 1

127.0.0.1:6379> lpush mylist "hello"

(integer) 2

127.0.0.1:6379> lrange mylist 0 1

1) "hello"

2) "world"

rpush

在key对应list的尾部添加字符串元素。

127.0.0.1:6379> lpush mylist "world"

(integer) 1

127.0.0.1:6379> lpush mylist "hello"

(integer) 2

127.0.0.1:6379> lrange mylist 0 1

1) "hello"

2) "world"

linsert

在key对应list的特定位置前或后添加字符串

127.0.0.1:6379> rpush mylist3 "world"

(integer) 1

127.0.0.1:6379> linsert mylist3 before "world" "hello"在world的前面压入一个hello

(integer) 2

127.0.0.1:6379> LRANGE mylist3 0 -1

1) "hello"

2) "world"

Lset

设置list中指定下标的元素值。

127.0.0.1:6379> rpush mylist4 "hello"

(integer) 1

127.0.0.1:6379> lset mylist4 0 "world"

OK

127.0.0.1:6379> lrange mylist4 0 -1

1) "world"

下面我们看一下这个替换的例子

127.0.0.1:6379> lpush list5 one

(integer) 1

127.0.0.1:6379> lpush list5 two

(integer) 2

127.0.0.1:6379> lpush list5 three

(integer) 3

127.0.0.1:6379> lrange list5 0 -1

1) "three"

2) "two"

3) "one"

127.0.0.1:6379> lset list5 1 four这里我们将第二个元素换掉

OK

127.0.0.1:6379> lrange list5 0 -1

1) "three"

2) "four"

3) "one"

lrem

从key对应list中删除n个和value相同的元素。(n<0从尾删除,n=0全部删除)

127.0.0.1:6379> rpush mylist5 "hello"

(integer) 1

127.0.0.1:6379> rpush mylist5 "hello"

(integer) 2

127.0.0.1:6379> lrem mylist5 1 "hello"

(integer) 1

127.0.0.1:6379> lpush list5 one

(integer) 4

127.0.0.1:6379> lpush list5 one

(integer) 5

127.0.0.1:6379> lpush list5 one

(integer) 6

127.0.0.1:6379> lrange list5 0 -1

1) "one"

2) "one"

3) "one"

4) "three"

5) "four"

6) "one"

127.0.0.1:6379> lrem list5 3 "one"删除三个”one“

(integer) 3

ltrim

保留指定key的值范围内的数据

127.0.0.1:6379> rpush mylist8 "one"

(integer) 1

127.0.0.1:6379> rpush mylist8 "two"

(integer) 2

127.0.0.1:6379> ltrim mylist8 1 -1

OK

127.0.0.1:6379> lrange mylist8 0 -1

1) "two"

lpop

从list的头部删除元素,并返回删除元素

127.0.0.1:6379> lrange mylist 0 -1

1) "hello"

2) "world"

127.0.0.1:6379> lpop mylist

"hello"

127.0.0.1:6379> lrange mylist 0 -1

1) "world"

rpop

从list的尾部删除元素,并返回删除元素

127.0.0.1:6379> lrange mylist2 0 -1

1) "world"

2) "hello"

127.0.0.1:6379> rpop mylist2

"hello"

127.0.0.1:6379> lrange mylist2 0 -1

1) "world"

rpoplpush

从第一个list的尾部移除元素并添加到第二个list的头部。

127.0.0.1:6379> lrange mylist4 0 -1

1) "world"

127.0.0.1:6379> lrange mylist3 0 -1

1) "hello"

2) "world"

127.0.0.1:6379> rpoplpush mylist3 mylist4

"world"

127.0.0.1:6379> lrange mylist3 0 -1

1) "hello"

127.0.0.1:6379> lrange mylist4 0 -1

1) "world"

2) "world"

lindex

返回名称为key的list中index位置的元素

127.0.0.1:6379> lrange mylist4 0 -1

1) "world"

2) "world"

127.0.0.1:6379> lindex mylist4 0

"world"

127.0.0.1:6379> lindex mylist4 1

"world"

llen

返回key对应list的长度

127.0.0.1:6379> llen mylist4

(integer) 2

127.0.0.1:6379> llen mylist3

(integer) 1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值