03Redis数据类型之List类型

1、定性:

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

2、常用方法:

2.1、lpush方法:在key对应的list的头部添加字符串元素。

eg:redis 127.0.0.1:6379>lpush  mylist “world”

(integer)1

redis 127.0.0.1:6379>lpush  mylist “hello”

(integer)2

redis 127.0.0.1:6379>lrange  mylist 0 -1  //从头第一个元素到尾第一个元素。

“hello”

“world”

2.2、rpush方法:从key对应的list的尾部添加字符串元素

不再举例,和2.1类似,只是元素压入方向不一样而已。

2.3、linsert方法:在key对应list位置前或者后添加任意字符串。

弥补了lpush,rpush方法只能在一端插入的不足。

eg:redis 127.0.0.1:6379>lpush  list3  “one”

redis127.0.0.1:6379>lpush  list3  “two”    

redis127.0.0.1:6379>linsert  list3  before one  three

redis127.0.0.1:6379>lrange  list3  0 -1

“two”

“three”

“one”

2.4、lset方法:设置指定下标的元素值。

redis127.0.0.1:6379>rpush mylist4 “hello”

redis127.0.0.1:6379>lset mylist4  0  “world”

redis127.0.0.1:6379>lrange  mylist4 0 -1

“world”

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

redis127.0.0.1:6379>lpush list5 “one”

redis 127.0.0.1:6379>lpush list5 “one”

redis 127.0.0.1:6379>lpush list5 “two”

redis 127.0.0.1:6379>lpush list5 “three”

redis 127.0.0.1:6379>lpush list5 “one”

redis 127.0.0.1:6379>lrem list5 2 “one”

(integer)2

redis 127.0.0.1:6379>lrange list5 0 -1

“two”

“three”

“one”

2.6、ltrim方法:保留指定key的值范围内的数据(包括两侧范围值)

redis 127.0.0.1:6379>rpush mylist6 “one”

redis 127.0.0.1:6379>rpush mylist6 “two”

redis 127.0.0.1:6379>rpush mylist6“three”

redis 127.0.0.1:6379>rpush mylist6“four”

redis 127.0.0.1:6379>lrim mylist6 1 2

(integer)2

redis 127.0.0.1:6379>lrange mylist6 0 -1

“two”

“three”

2.7、lpop方法:从list的头部删除元素,并返回删除元素。

redis 127.0.0.1:6379>rpush mylist10 “one”

redis 127.0.0.1:6379>rpush mylist10“two”

redis 127.0.0.1:6379>rpush mylist10“three”

redis 127.0.0.1:6379>lpop mylist10

“one”

2.8、rpop方法:从list的尾部删除元素,并返回删除元素。
2.9、rpoplpush方法:从第一个list的尾部移除元素到第二个list的头部。

eg:redis 127.0.0.1:6379>rupshmylist11 “one”

redis 127.0.0.1:6379>rpush mylist11“two”

redis 127.0.0.1:6379>rpush mylist12“three”

redis 127.0.0.1:6379>rpush mylist13“four”

redis 127.0.0.1:6379>rpoplpush mylist11mylist12

redis 127.0.0.1:6379>lrange mylist11 0-1

“one”

redis 127.0.0.1:6379>lrange mylist11 0-1

“two”

“three”

“four”

2.10、lindex方法;返回名称为key的list中index位置的元素。

eg: redis 127.0.0.1:6379>lpush mylist12“one”

redis 127.0.0.1:6379>lpush mylist12“two”

redis 127.0.0.1:6379>lindex mylist12 0

“one”

2.11、llen方法:返回key对应的list的长度。

eg:redis 127.0.0.1:6379>rpushmylist13  “one”

redis 127.0.0.1:6379>rpush mylist13“two”

redis 127.0.0.1:6379>rpush mylist13“three”

redis 127.0.0.1:6379>llen mylist13

(integer)3

 

你可能感兴趣的:(redis)