03_NoSQL数据库之Redis数据库:list类型

时间:2024-01-21 14:09:09


lists类型及操作

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

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

03_NoSQL数据库之Redis数据库:list类型

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

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

03_NoSQL数据库之Redis数据库:list类型

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

03_NoSQL数据库之Redis数据库:list类型

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

03_NoSQL数据库之Redis数据库:list类型

上面的lrem mylist5 1 “hello”表示的是从mylist5中删除1个和hello相同的值。

03_NoSQL数据库之Redis数据库:list类型

上面返回的数表示的是删除的个数。

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

例如:ltrim list8 1 -1表示保留下标是1到最后一个元素的值,其它的元素都删除掉。

03_NoSQL数据库之Redis数据库:list类型

03_NoSQL数据库之Redis数据库:list类型

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

03_NoSQL数据库之Redis数据库:list类型

03_NoSQL数据库之Redis数据库:list类型

rpop list10

lrange list10 0 -1

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

03_NoSQL数据库之Redis数据库:list类型

其中:rpoplpush mylist5 mylist6表示的意思是将mylist5中的元素弹出后给了mylist6.

接着查看mylist5,发现只有一个three了,在接着查看mylist6,发现有三个元素了,分别是:hello,hello,foo

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

03_NoSQL数据库之Redis数据库:list类型

llen:查看链表中有多少个元素

03_NoSQL数据库之Redis数据库:list类型