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数据展示到页面。

原文地址:https://www.cnblogs.com/HigginCui/p/6475124.html