且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-05-07 14:40:07



lists类型及操作

   List是一个链表结构,主要功能室push,pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redislist类型其实就是一个每个元素都是string类型的双向链表。我们可以通过pushpop操作从链表的头部或者尾部添加删除元素,这样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:返回名称为keylist中的index位置的元素。

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

 

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

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