关于 Redis 的使用场景【撸啊撸】
① 缓存。这是它最基本的功能,Redis 是基于内存的非关系型数据库,使用 Redis 可以减少磁盘访问,提高查询效率;
② 消息队列。list 数据结构的实现是双向链表,先进先出,并且可以保证消息的有序性,所以它可以很好地应用于消息队列,生产者通过 lpush 将消息放入 list 中,消费者便可以通过 rpop 取出;
③ 排行榜。排行榜的特点是有序且唯一,Redis 里面的有序集合 zset 正符合;
④ 发布/订阅。Redis 提供的发布/订阅功能可以应用于很多场景,比如网络连接,群聊系统等,一人发布,多人订阅;
⑤ 计数器。比如一篇文章的点赞量、评论数、转发量等,我们可以把这些数据封装在Redis 的 hash 里面,然后定义一个计数变量,使用 hincrby 使其自增;
⑥ 短信验证码。Redis 里面是可以设置过期时间的,我们把验证码以 String 类型存储到 Redis 中,并通过 setex 设置 key 的过期时间,时间一到,自动失效;
⑦ 共同好友关系。A 和 B 是 斗音好友关系,A 点开 B 的主页,上面显示着你们两个共同关注的人,这是怎么做到的?可以通过 Redis 的 set 数据结构来实现,set 本身是集合,所以里面有交集功能, 而共同好友就是通过这个交集找出来的。