**Redis数据类型:list**
Redis 里的 List 是一个链表,由于链表本身插入和删除比较块,但是查询的效率比较低,所以常常被用做异步队列。Redis 里的 List 设计非常牛,当数据量比较小的时候,数据结构是压缩链表,而当数据量比较多的时候就成为了快速链表。
列表类型用来存储多个有序的字符串,一个列表最多可以存储2^32-1个元素,列表的两端都可以插入和弹出元素。
**1.1、消息队列**
在业务中异步队列使用 rpush/lpush 操作队列,使用 lpop 和 rpop 出队列。
Redis虽然支持消息队列的实现,但是并不支持ack。所以redis实现的消息队列不能保证消息的可靠性,除非自己实现消息确认机制,不过这非常麻烦,所以如果是重要的消息还是推荐使用专门的消息队列去做。
**1.2、文章列表**
因为列表的元素不但是有序的,而且还支持按照索引范围获取元素。因此我们可以使用命令
```bash
lrange key 0 9
```
获取分页文章列表
**1.3、日志存储**
可以将日志消息存储在 Redis 的 List 类型中,然后可以通过 LPUSH 命令将新的日志消息添加到列表的头部,通过 LTRIM 命令限制列表的长度,从而实现日志的存储和限制。
**1.4、时间线**
可以将事件的时间戳和内容以键值对的形式存储在 Redis 的 List 类型中,然后可以通过 LPUSH 和 RPUSH 命令将事件添加到时间线的头部或尾部,通过 LTRIM 命令限制时间线的长度,从而实现时间线的功能。
**1.5、排行榜**
可以将用户的分数和 ID 以键值对的形式存储在 Redis 的 List 类型中,然后可以通过 ZADD 和 ZRANGE 命令将用户的分数和 ID 添加到有序集合中,通过 ZREVRANGE 命令获取排名前 N 的用户,从而实现排行榜的功能。
- Redis介绍
- String类型的应用场景
- Hash类型的应用场景
- List类型应用场景
- Set类型应用场景
- Zset类型应用场景
- Redis官网
- 安装Redis
- Redis配置文件详解
- 配置Redis开机启动
- Redis的命令行工具
- Redis的可视化管理软件
- 各开发语言对应的Redis库
- Server管理命令
- 通用命令
- String类型命令
- HASH类型命令
- LIST类型命令
- Set类型命令
- Sorted_Set类型命令
- ThinkPHP集成Redis
- SpringBoot集成Redis
- 实战篇:优惠券功能概述
- 实战篇:表单页面实现
- 实战篇:后端处理逻辑
- 实战篇:优惠券类逻辑
- 实战篇:优惠券列表
- 原理篇:Redis缓存雪崩
- 原理篇:Redis缓存击穿
- 原理篇:Redis缓存穿透
- 进阶篇:Redis的事务与持久化
- 进阶篇:Redis集群
- 进阶篇:Redis的发布订阅模式
- 进阶篇:Redis分布式锁
- 进阶篇:Redis分布式缓存
- 进阶篇:一致性哈希
- 进阶篇:Redis安全管理
- 进阶篇:Redis性能优化