List类型的存储结构——底层是双向链表结构
一、List类型数据基本操作
添加/修改数据 lpush key value1 value2 #从左边一个个插入 rpush key value2 value2 #从右边一个个插入 获取数据 lrange key start stop #start和stop都是指索引位置(从0开始),如果不知道末尾索引是多少可以写-1 lindex key index #根据索引位置获取数据,index是索引 llen key #查询value的个数 获取并移除数据 lpop key #从左边开始移除数据,并且返回移除的数据 rpop key
注意插入顺序和查询数据的顺序
lpush是从左边依次插入a,b,c 所以在查询的时候c在前面,最先被读取出来
二、List类型数据扩展操作
规定时间内获取并移除数据 list阻塞式数据获取 blpop key1 key2 timeout #规定时间内删除并显示出删除的数据 brpop key1 key2 timeout
当这个list所有数据都删除了,到了规定的时间就会显示nil。如果中途又给这个list增加数据没超过时间会马上显示出来
朋友圈点赞案例 此条朋友圈编号当成key,点赞人数就是value(列表),点赞rpush,取消点赞就是移除指定位置删除
移除指定数据 lrem key count value #rem是remove,count是指定删除几个value
三、List类型数据注意事项
四、List类型应用场景
处理需要排序且数据量大的时候使用,应用于最新消息展示