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

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 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服务。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
155 1
|
26天前
|
存储 NoSQL 算法
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)(二)
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)
37 0
|
26天前
|
NoSQL 数据处理 调度
【Redis深度专题】「踩坑技术提升」探索Redis 6.0为何必须启用多线程以提升性能与效率
【Redis深度专题】「踩坑技术提升」探索Redis 6.0为何必须启用多线程以提升性能与效率
72 0
|
1天前
|
存储 缓存 运维
软件体系结构 - 缓存技术(5)Redis Cluster
【4月更文挑战第20天】软件体系结构 - 缓存技术(5)Redis Cluster
29 10
|
1天前
|
Cloud Native Serverless 开发者
阿里云助力开发者创新:探索云原生技术的新境界
阿里云开发者社区推动云原生技术发展,提供丰富产品(如容器服务、Serverless、微服务架构、服务网格)与学习平台,助力企业数字化转型。开发者在此探索实践,共享资源,参与技术活动,共同创新,共创云原生技术新篇章。一起加入,开启精彩旅程!
37 2
|
26天前
|
存储 NoSQL Redis
作者推荐 |【Redis技术进阶之路】「原理系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)(三)
作者推荐 |【Redis技术进阶之路】「原理系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)
22 0
|
26天前
|
NoSQL Java Redis
【Redis深度专题】「踩坑技术提升」一文教会你如何在支持Redis在低版本Jedis情况下兼容Redis的ACL机制
【Redis深度专题】「踩坑技术提升」一文教会你如何在支持Redis在低版本Jedis情况下兼容Redis的ACL机制
87 0
|
26天前
|
缓存 NoSQL Shell
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)
47 0
|
26天前
|
存储 缓存 NoSQL
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析)(一)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析)
87 0
|
1月前
|
弹性计算 网络协议 关系型数据库
网络技术基础阿里云实验——企业级云上网络构建实践
实验地址:<https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179> 本文档指导在阿里云上构建跨地域的网络环境,涉及杭州和北京两个地域。任务包括创建VPC、交换机、ECS实例,配置VPC对等连接,以及设置安全组和网络ACL规则以实现特定服务间的互访。例如,允许北京的研发服务器ECS-DEV访问杭州的文件服务器ECS-FS的SSH服务,ECS-FS访问ECS-WEB01的SSH服务,ECS-WEB01访问ECS-DB01的MySQL服务,并确保ECS-WEB03对外提供HTTP服务。

相关产品

  • 云数据库 Redis 版