list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加或者删除元素。 这使得list既可以用作栈,也可以用作队列。
该list链表类型应用场合:
比如获取最新的10个登录用户信息:
select * from user order by logintime desc limit 10;
如上图所示, 通过list链表保存登录系统的最新5个用户信息: xiaoli jack xiaoming linken mary tom
我选择了第二个数据库来进行操作。

该数据库里面没有key。
这里先停一下,简单介绍下list类型操作:

然后我们看操作图来继续进行模拟。
首先lpush key string :

在key对应的头部添加了5个元素。
我们现在是设置了一个链表key,里面保存了5个元素

根据之前的图所示,目前已经有5个元素。xiaoli进入的话,需要踢出一个旧用户。

先把xiaoli添加到链表key中:

rpop key:再踢出tom

rpop key 是直接删除链表尾部的一个元素。
lrange key start end: 通过范围查找链表内部的所有元素 目前我们有5个用户。所以范围是0-4.

llen key: 返回对应list的长度。

lpop key :从list头部删除元素(跟rpop key 操作相同,不过他是从头部也就是链表left删除)
ltrim key start end : 截取list。然后保留指定区间的

常用操作如上面介绍的那些,很简单。
我们上面的链表介绍只是一边进一边出,其实list类型就是一个双向链表。 这使得list既可以用作栈,也可以用作队列。

栈:上进上出,先进后出。 队列:上进下出,先进先出。
这里先不作过多介绍了。