天翼云分布式缓存服务(Redis)的应用场景(干货)
作为分布式缓存系统,Redis大量的应用于互联网行业的各类应用,即使是传统行业,只要是面向公众客户的互联网应用,因用户数的激增,也纷纷基于Redis做架构的改造。
像微博及 Twitter 这两大社交平台重度依赖 Redis 来承载海量用户访问,通过构建可灵活扩展的Redis集群让其能够承载上亿用户的访问规模。
我们按照Redis数据结构维度,其适用的具体场景如下:
List: 双向列表,适用于最新列表,关注列表;
Set: 适用于无顺序的集合,点赞点踩,抽奖,已读,共同好友;
SortedSet : 具有排序加成功能,适用于排行榜,优先队列的实现;
Hash:对象属性,不定长属性数;
KV : 单一数值,适用于验证码,缓存等实现。
下面我们列举一些知名网站使用Redis的案例:
新浪微博
新浪微博最早大规模应用Redis,具体的应用的场景如下:
hash sets: 关注列表, 粉丝列表, 双向关注列表;
string(counter): 微博数, 粉丝数;
sort sets(自动排序): TopN, 热门微博等, 自动排序;
lists(queue): push/sub提醒。
唯品会
唯品会采用Redis集群架构,主要应用于后端业务,大数据实时推荐/ETL、风控、营销三大业使用。
在线有生产几十个cluster集群,约2千个实例,单个集群的实例最大达到250+。
今日头条
用户建模数据采用MySQL/MongoDB以及Memcache/Redis的数据库+缓存的架构,
用户建模数据是指当用户开始使用今日头条后,对用户动作的日志进行实时分析, 会对用户的每个动作进行学习,并对用户的兴趣进行挖掘所产生的数据。
阿里巴巴
阿里巴巴的很多业务线都用到了Redis,比如每个人关注店铺的列表、菜鸟的订单分发系统中订单的排序规则等。
南航
其电商营销平台采用了Redis-Cluster架构,用来缓存机票信息,航班动态更新,上线后查询提升效果十分显著,响应时间从 7-8 秒降到一百多毫秒,实现机票信息"秒出"。
还有大型游戏中排行榜,也会应用到Redis。
最后说一下12306网站,也用到了分布式缓存系统,用户缓存余票信息,但其背后的分布式缓存系统采用的是GemFire,而不是Redis,可以把GemFire理解为增强版的Redis。