什么时候用 redis?

缓存

缓存现在是几乎每个中大型网站的比啥技。合理的利用缓存不仅能提升网站的访问速度,还能大大降低数据库压力。 redis的key-value键值过期机制, 提供了灵活的键淘汰策略 ,所以redis应用场景特别的多。

排行榜

很多网站都有排行榜,如京东的月度销量,商品的最新排行。 redis提供的有序集合数据类型能实现各种复杂排行榜的应用。

计数器

什么是计数器?
电商网站的浏览量、视频的播放量 。为了保证实时有效,每次浏览都得+1. 而此时如果并发量比较高的,每次访问数据库 无是种挑战和压力。

redis提供的incr命令来实现计数器,内存操作性能非常好。

非常适用于这种场景。

分布式会话

集群模式下,在应用不多的情况下,一般使用容器自带的session复制功能就能满足,当应用相对复杂的系统中,就会搭建以redisd等内存数据库为中心的缓存session服务 ,redis 不再由容器管理,而是ssession服务以及内存管理。

分布式锁

很多互联网技术中都实现了 分布式技术。

分布式技术带来的技术挑战是对同一个资源的并发访问, 如全局id,减库存,秒杀场景。

并发量不大的场景可以使用乐观锁,悲观锁。但是并发量高的场合中,数据路锁的思路不太理想,降低了db的性能。

我们这时候可以利用redis的setnx 编写分布式的锁。如果设置返回 1 说明设置成功,否则获取锁失败。

社交网络

点赞 踩 关注/被关注 共同好友等社交网络基本要求下,传统的关系数据库很难存储。

redis提供的哈希、集合等数据结构能很方便的实现这些功能

最新列表

Lpush可以在列表头部插入一个内容id作为关键字, LTRIM可以限制数量。这样列表永远为n个id,无需查询最新的列表,直接根据id去找对应的内容即可

###消 息系统
MQ-消息队列是大型网站必备的中间件。 主要用于业务解耦 流量削峰及异步处理,可实现简单的消息系统。

猜你喜欢

转载自blog.csdn.net/u010720890/article/details/129516433