Redis list数据类型
List是一个链表结构,主要功能是push、pop、获取一个范围内的素有值等,操作中key理解为链表的的名字,Redis的list表类型其实就是每一个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列1、lpush: 在key对应的list头部添加字符串元素,获取数据时,顺序和添加元素的顺序是反的。先进后出
127.0.0.1:6379> lpush mylist hello
(integer) 1
127.0.0.1:6379> lpush mylist world
(integer) 2
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hello"
2、lrange:获取链表的指定下标位置的元素
3、rpush:在key对应的list的尾部添加字符串元素,获取数据时和添加元素时的顺序是一样的,先进先出
127.0.0.1:6379> rpush mylist02 hello
(integer) 1
127.0.0.1:6379> rpush mylist02 world
(integer) 2
127.0.0.1:6379> lrange mylist02 0 -1
1) "hello"
2) "world"
4、linsert:在key对应list的特定位置前或者后添加字符串元素
127.0.0.1:6379> linsert mylist before hello hi
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hi"
3) "hello"
5、lset:设置list中指定下标的元素值。用来替换元素
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hi"
3) "hello"
127.0.0.1:6379> lset mylist 0 WORLD
OK
127.0.0.1:6379> lrange mylist 0 -1
1) "WORLD"
2) "hi"
3) "hello"
6、lrem:从key对应的list中删除n个和value相同的元素。(n lrange mylist 0 -1
1) "hello"
2) "world"
3) "hello"
4) "WORLD"
5) "hi"
6) "hello"
127.0.0.1:6379> lrem mylist 1 hello
(integer) 1
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hello"
3) "WORLD"
4) "hi"
5) "hello"
从尾部删除
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hello"
3) "WORLD"
4) "hi"
5) "hello"
127.0.0.1:6379> lrem mylist -1hello
(integer) 1
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hello"
3) "WORLD"
4) "hi"
7、ltrim:保留指定key的值范围内的数据
127.0.0.1:6379> lrange mylist02 0 -1
1) "hello"
2) "world"
3) "two"
4) "one"
5) "three"
127.0.0.1:6379> ltrim mylist02 1 3 //保留1下标到3小标的元素
OK
127.0.0.1:6379> lrange mylist02 0 -1
1) "world"
2) "two"
3) "one"
8、lpop:从list头部删除元素,并返回该元素
127.0.0.1:6379> lrange mylist02 0 -1
1) "world"
2) "two"
3) "one"
127.0.0.1:6379> lpop mylist02
"world"
127.0.0.1:6379> lrange mylist02 0 -1
1) "two"
2) "one"
9、rpop:从list尾部删除元素,并返回元素
127.0.0.1:6379> lrange mylist02 0 -1
1) "two"
2) "one"
127.0.0.1:6379> rpop mylist02
"one"
127.0.0.1:6379> lrange mylist02 0 -1
1) "two"
10、rpoplpush:从第一个list的尾部移除元素并添加到第二个list的头部
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hello"
3) "WORLD"
4) "hi"
127.0.0.1:6379> lrange mylist02 0 -1
1) "two"
127.0.0.1:6379> rpoplpush mylist mylist02
"hi"
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hello"
3) "WORLD"
127.0.0.1:6379> lrange mylist02 0 -1
1) "hi"
2) "two"
11、lindex:返回名称为key的list中index位置的元素
127.0.0.1:6379> lrange mylist 0 -1
1) "world"
2) "hello"
3) "WORLD"
127.0.0.1:6379> lindex mylist 1
"hello"
12、llen:返回list元素的个数
127.0.0.1:6379> llen mylist
(integer) 3
页:
[1]