开发者社区> 白宸> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

解密阿里云Redis助力双十一背后的技术

简介: Redis是一个使用范围很广的NOSQL数据库,阿里云Redis同时在公有云和阿里集团内部进行服务,本文介绍了阿里云Redis双11的一些业务场景:微淘社区之亿级关系链存储、天猫直播之评论商品游标分页和菜鸟单据履行中心之订单排序。
+关注继续查看

双11如火如荼的结束了,阿里云Redis(ApsaraDB for Redis原KVStore)也圆满完成了双11Redis的保障工作。目前阿里云Redis提供了单机版本和集群版本的Redis。

  • 单机版本Redis具有很高的兼容性,并且支持Lua脚本及地理位置计算。
  • 集群版本具有大容量、高性能的特性,能够突破Redis单线程的单机性能极限。

阿里云Redis默认双机热备并提供了备份恢复支持,同时阿里云Redis源码团队持续对Redis进行优化升级,提供了强大的安全防护能力。本文将选取双11的一些业务场景简化之后进行介绍,实际业务场景会比本文复杂。

微淘社区之亿级关系链存储

微淘社区承载了亿级淘宝用户的社交关系链,对于每个用户都有自己的关注列表,每个商家有自己的粉丝信息,整个微淘社区承载的关系链如下图所示。

link1

如果选用传统的关系型数据库模型表达如上的关系信息,会使业务设计繁杂,并且不能获得良好的性能体验。微淘社区使用Redis集群缓存了存储社区的关注链,简化了关注信息的存储,并保证了双11业务丝滑一般的体验。微淘社区使用了Hashes存储用户之间的关注信息,存储结构如下,并提供了以下两种的查询接口:

  • 用户A 是否和 用户B产生过关注关系;
  • 用户A的主动关系列表;

_

天猫直播之评论商品游标分页

双11用户在观看无线端直播的时候,需要对直播对应的评论进行刷新动作,主要有以下三种模式:

  • 增量下拉。 也即是从指定位置向上获取指定个数(增量)的评论。
  • 下拉刷新。 也即是获取最新的指定个数的评论。
  • 增量上拉。 也即是从指定位置向下获取指定个数(增量)的评论。

无线直播系统使用Redis优化该场景的业务,保证了直播评论接口的成功率,并能够保证5w+以上的tps和毫秒级的rt请求。直播系统对于每个直播会写入两份数据,分别为索引和评论数据,索引数据为SortedSet的数据结构用于对评论的排序,而评论数据使用Hashes进行存储,在获取评论的时候通过索引拿到需要的索引id之后通过Hashes的读取来获得评论的列表。评论的写入过程如下:
redis_1_
用户在刷新列表之后后台需要获取对应的评论信息,获取的流程如下:

  • 获取当前索引位置
  • 获取索引列表
  • 获取评论数据

redis_1_

菜鸟单据履行中心之订单排序

双11用户在产生一个交易订单之后会随之产生一个物流订单。经过菜鸟仓配系统处理的订单,为了让仓配各个阶段能够更加智能的协同作业,决策系统会根据订单信息指定出对应的订单履行计划,包括什么时候下发仓、什么时候出库、什么时候配送揽收、什么 时候送达等信息,单据履行中心根据履行计划,对每个阶段按照对应的时间去履行物流服务。由于仓、配的运力有限,对于有限的运力下,期望最早作业的单据是业务认为优先级最高的单据,所以订单在真正下发给仓或者配之前,需要按照优先级进行排序。
_
订单履行中心通过使用Redis来对所有的物流订单进行排序决定哪个订单是最高优先级的。

结束

Redis是一个优秀的开源数据库,提供了开发者更便利的数据模型,阿里云Redis致力于提供稳定、高性能的Redis服务,欢迎广大开发者使用阿里云Redis服务。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Windows下安装并设置Redis
Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。详情请参考: http://redis.io/download    但有时候又想在windows下折腾下Redis,可以从redis下载页面看到如下提示: Win64 Unoffi...
834 0
Windows下安装并设置Redis
作者: 铁锚 日期: 2014年8月10日 如果需要配置访问密码等,请参考:  Redis单机版简单安装脚本 Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。
831 0
CentOS 6 安装最新的 Redis 2.8 ,安装 TCMalloc
1,遇到的问题就是 redis 2.8 版本依赖 Google 的 TCMalloc TCMalloc(Thread-Caching Malloc)是google开发的开源工具──“google-perftools”中的成员。与标准的glibc库的malloc相比, TCMalloc在内存的分配上效率和速度要高得多,可以在很大程度上提高MySQL服务器在高并发情况下的性能,降低
1306 0
CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据
1、下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Redis下载地址:wget http://download.
1163 0
Redis for Windows(C#缓存)安装和使用
本文个人同步博客地址: http://aehyok.com/Blog/Detail/98.html   个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:http://www.cnblogs.com/aehyok/p/3946286.html 感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,那不妨点个推荐吧,谢谢支持:-O。
560 0
Linux Cenos 以RPM方式安装 redis
1,首先下载rmp 包: http://pkgs.org/download/redis rpm -ivh redis.*.rpm 2,修改配置文件 vi /etc/redis.conf  3,增加开机启动 chkconfig redis on chkconfig --list redis   resin          0:off  1:off  2:on  
1178 0
CentOS 下安装编绎安装Redis
先去http://www.redis.io/ 这个网站下载源码 tar -xvf redis-2.6.13.tar.gz cd redis-2.6.13 可以先扯下 vi READMIN 这个文档,很不错的 make  make test  报了一个错 You need tcl 8.
690 0
初识Redis及Redis在Windows下的安装和使用
NoSQL简介       介绍redis前,我想还是先认识下NoSQL,即not only sql, 是一种非关系型的数据存储,key/value键值对存储。现有Nosql DB 产品: Redis/MongoDB/Memcached/Hbase/Cassandra/ Tokyo Cabinet...
929 0
Redis 安装简介
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便,简单介绍下安装方法。
933 0
+关注
文章
问答
来源圈子
更多
让用户数据永远在线,让数据无缝的自由流动
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
阿里云Redis服务助力游戏行业发展--王义成
立即下载
阿里云Redis技术架构演进
立即下载
阿里云Redis技术架构体系
立即下载