Redis的List数据类型及常用命令

Posted SunnyBigBoy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis的List数据类型及常用命令相关的知识,希望对你有一定的参考价值。

Redis的List数据类型及常用命令

List可以想成一个双向链表

所有的List命令大多都是以l开头的

创建数据 LPUSH

插入数据是倒序 ,相当于插入的值放在列表的头部

127.0.0.1:6379> LPUSH list one two three
(integer) 3
127.0.0.1:6379> LRANGE list 0 2
1) "three"
2) "two"
3) "one"

创建数据 RPUSH

插入数据是正序 ,相当于插入的值放在列表的尾部

127.0.0.1:6379> RPUSH list1 one two three
(integer) 3
127.0.0.1:6379> LRANGE list1 0 -1
1) "one"
2) "two"
3) "three"

**LRANGE获得数据 **

127.0.0.1:6379> LRANGE list 0 1
1) "three"
2) "two"
127.0.0.1:6379> LRANGE list 0 -1
1) "three"
2) "two"
3) "one"

LPOP 移除数据 移除列表最左端的元素

127.0.0.1:6379> LRANGE list1 0 -1
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> LPOP list1
"one"
127.0.0.1:6379> LRANGE list1 0 -1
1) "two"
2) "three"

RPOP 移除数据 移除列表最右端的元素

127.0.0.1:6379> LRANGE list1 0 -1
1) "two"
2) "three"
127.0.0.1:6379> RPOP list1
"three"
127.0.0.1:6379> LRANGE list1 0 -1
1) "two"

LINDEX获取指定下标的值

127.0.0.1:6379> LRANGE list 0 -1
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> LINDEX list 1
"two"

LREM移除指定个数的值

127.0.0.1:6379> LREM list 1 one
(integer) 1
127.0.0.1:6379> LRANGE list 0 -1
1) "three"
2) "two"

127.0.0.1:6379> LRANGE list 0 -1
1) "three"
2) "one"
3) "three"
4) "two"
5) "one"
6) "three"
7) "two"
127.0.0.1:6379> LREM list 2 one
(integer) 2
127.0.0.1:6379> LRANGE list 0 -1
1) "three"
2) "three"
3) "two"
4) "three"
5) "two"

llen查看列表的长度

127.0.0.1:6379> llen list
(integer) 3

**LTRIM通过下标截取指定长度的列表 **

127.0.0.1:6379> LPUSH list one two three four five(integer) 5127.0.0.1:6379> LRANGE list 0 -11) "five"2) "four"3) "three"4) "two"5) "one"127.0.0.1:6379> LTRIM list 0 3OK127.0.0.1:6379> LRANGE list 0 -11) "five"2) "four"3) "three"4) "two"

RPOPLPUSH移除当前列表的最后一个元素pusl到另一个列表

127.0.0.1:6379> RPUSH list 0 1 2(integer) 3127.0.0.1:6379> RPOPLPUSH list mylist"2"127.0.0.1:6379> LRANGE list 0 -11) "0"2) "1"127.0.0.1:6379> LRANGE mylist 0 -11) "2"127.0.0.1:6379> RPOPLPUSH list mylist"1"127.0.0.1:6379> LRANGE list 0 -11) "0"127.0.0.1:6379> LRANGE mylist 0 -11) "1"2) "2"

LSET 更新指定下标的值,如果列表不存在或指定下标值不存在会保错

127.0.0.1:6379> EXISTS lsit(integer) 0127.0.0.1:6379> lset lsit 0 item(error) ERR no such key127.0.0.1:6379> LPUSH list 0(integer) 1127.0.0.1:6379> LRANGE list 0 -11) "0"127.0.0.1:6379> LSET list 0 itemOK127.0.0.1:6379> LRANGE list 0 -11) "item"127.0.0.1:6379> LSET list 1 item2(error) ERR index out of range

LINSERT可以在指定的元素前或元素后插入值,before元素 前,after元素 后

127.0.0.1:6379> LRANGE list 0 -11) "item"127.0.0.1:6379> LINSERT list before item first(integer) 2127.0.0.1:6379> LRANGE list 0 -11) "first"2) "item"127.0.0.1:6379> LINSERT list after first ok(integer) 3127.0.0.1:6379> LRANGE list 0 -11) "first"2) "ok"3) "item"

学习参考狂神说java

以上是关于Redis的List数据类型及常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Redis基础认识内存式NoSQL数据库及简单使用Redis

redis 之 redis数据类型及常用命令

Redis的常用命令及数据类型

redis五种数据类型和常用命令及适用场景

Redis常用命令-list-set-zset

redis的常用命令及实例讲解