天翼云分布式缓存服务(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。
版权声明: 本文为 InfoQ 作者【天翼云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/bc368bbcba6142069a38edb75】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论