目录
一、Redis应用场景
1.1 Redis作为缓存
1.2 Redis作为消息队列
1.3 实现计数器和排行榜
1.4 实现分布式锁及分布式会话管理
二、Redis常见的数据类型
2.1 String(字符串)类型
2.2 list类型
2.3 Hash类型
2.4 Set类型
2.5 Sorted Set
一、Redis应用场景
Redis是一个基于内存的数据结构存储系统,与常见的MySQL不同的是,Redis有着许多的运用场景,接下来列举几个常见的应用场景
1.1 Redis作为缓存
Redis可以作为缓存系统,将热点数据存储在Redis中。这样可以很大程度的提高响应速度和读写速度,同时也可以缓解后端的处理请求的压力。
1.2 Redis作为消息队列
Redis的发布订阅功能和 List 数据结构可以实现消息队列的功能,实现异步处理任务、解耦系统组件之间的依赖关系等。
1.3 实现计数器和排行榜
Redis 的原子操作和 Sorted Set 数据结构可以实现计数器和排行榜的功能,支持快速地增加、减少和排序操作。
1.4 实现分布式锁及分布式会话管理
Redis 的 SETNX 命令可以实现分布式锁,避免多个客户端同时修改同一个数据,保证数据的一致性和正确性。同时 Redis 也可以存储会话信息,实现分布式会话管理,支持会话的共享和迁移等功能。
二、Redis常见的数据类型
Redis有着多方面的应用场景,得益于其包含多种数据类型。Redis 常用的数据类型有 5 种:String 字符串类型、List 列表类型、Hash 哈希表类型、Set 集合类型、Sorted Set 有序集合类型,如下图所示:
2.1 String(字符串)类型
String(字符串类型)常见的使用场景:存储session信息,存储缓存信息(如详情页的缓存)、存储整数信息,可使用 incr 实现整数+1,和使用 decr 实现整数 -1等
2.2 list类型
List(列表类型)常见使用场景是:实现简单的消息队列、存储某项列表数据等
2.3 Hash类型
Hash(哈希表类型)常见使用场景是:存储 Session 信息、存储商品的购物车,购物车非常适合用哈希字典表示,使用人员唯一编号作为字典的 key,value 值可以存储商品的 id 和数量等信息、存储详情页信息
2.4 Set类型
Set(集合类型)是一个无序并唯一的键值集合,它的常见使用场景是:关注功能,比如关注我的人和我关注的人,使用集合存储,可以保证人员不会重复
2.5 Sorted Set
Sorted Set(有序集合类型)相比于 Set 集合类型多了一个排序属性 score(分值),它的常见使用场景是:可以用来存储排名信息、关注列表功能,这样就可以根据关注实现排序展示了