03_Redis数据类型(List)
【List类型】
Redis采用的是LinkedList。
ArrayList: 数组存储。查询快,增删慢。
LinkedList:链表存储。增删快,查询慢,查询两端快。
Redis的list内部采用的双向链表实现,获取越靠近两端的元素速度越快。
1.向list左边添加元素
语法:lpush key value1 value2 value3......
2.向list右边添加元素
语法:rpush key value1 value2 value3......
3.查看元素
语法:lrange key start end
描述:lrange是获取list某一片段的数据,end为-1代表到list的结尾
4.从list左端弹出元素
分两步:1.从链表中左端移除该元素--->2.返回该元素值
语法:lpop key
返回值:被弹出的元素值
5.从list右端弹出元素
语法:rpop key
6.获取list中元素个数
语法:llen key
7.删除list中指定的值
语法: lrem key count value
描述:删除list中前count个值为value的元素。
count>0,lrem从左边开始删除;
count<0,lrem从右边开始删除;
count=0,lrem删除所有值为value的元素。
返回值:实际删除的元素个数。
8.获得指定索引的元素值
语法:lindex key index
9.设置指定索引的元素值
语法:lset key index value
10.只保留list指定的片段
语法:ltrim key start end
11.向list中插入元素
语法:linsert key before/afeter pivot value
描述:从列表中从左到右查询值为pivot的元素,然后根据第二个参数是before或after来决定将value插入到该元素的前面或后面。
12.将元素从一个list转移到另一个list
语法:rpoplpush source destination
【list应用:商品评论列表】
思路:
在Redis中创建商品评论列表,
用户发布商品评论,将评论信息转成json存储到list中,
用户在页面查询评论列表时,从redis中取出json数据展示到页面。