redis的List类型底层结构是双向链表,插入删除时间复杂度O(1)快,查找为O(n)慢。
应用场景:简单队列、最新评论列表、非实时排行榜(定时计算榜单,如笔记本日销榜单)。
常用命令:
lpush | 将一个或多个值从左边插入到列表 |
rpop | 移除并获取列表右边最后一个元素 |
llen | 获取列表长度 |
index | 通过索引获取列表中的元素 |
lrange | 获取key对应的list的指定下标范围的元素,其中0表示列表的第一个元素,1表示列表的第二个元素,-1表示获取所有元素(lrange key 0 -1) |
rpush | 将一个或多个值从右边插入到列表 |
lpop | 移除并获取列表左边最后一个元素 |
brpop | 移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到发现可弹出元素为止 |
lrem | 移除元素,可以指定移除个数 |
注意:
存储的都是string字符串类型 ;
支持分页操作,高并发项目中,第一页数据都是来源list,第二页和更多信息则是通过数据库加载。