中国建设教育协会的网站查询,专业网络优化,天津做网站哪家比较好,wordpress 755权限摘要#xff1a; 本文主要介绍视频直播间系统#xff0c;以及如何使用阿里云Redis混合存储实例方便快捷的构建大数据量#xff0c;低延迟的视频直播间服务。
背景
视频直播间作为直播系统对外的表现形式#xff0c;在整个系统中处于核心地位。通常除了视频直播窗口外#…摘要 本文主要介绍视频直播间系统以及如何使用阿里云Redis混合存储实例方便快捷的构建大数据量低延迟的视频直播间服务。
背景
视频直播间作为直播系统对外的表现形式在整个系统中处于核心地位。通常除了视频直播窗口外直播间还包含在线用户礼物评论点赞排行榜等信息。直播间消息时效性高互动性强对系统时延有着非常高的要求非常适合使用Redis等缓存服务来处理。
直播信息
实时排行信息
实时排行信息包含直播间在线用户列表各种礼物排行榜弹幕消息可以理解为按消息维度的消息排行榜等信息适合使用Redis中的SortedSet结构进行存储。
例如以unix timestamp毫秒数为分值记录user55的直播间增加的5条弹幕
redis ZADD user55:_danmu 1523959031601166 message111111111111
(integer) 1
11.160.24.14:3003 ZADD user55:_danmu 1523959031601266 message222222222222
(integer) 1
11.160.24.14:3003 ZADD user55:_danmu 1523959088894232 message33333
(integer) 1
11.160.24.14:3003 ZADD user55:_danmu 1523959090390160 message444444
(integer) 1
11.160.24.14:3003 ZADD user55:_danmu 1523959092951218 message5555
(integer) 1
返回最新的3条弹幕信息
redis ZREVRANGEBYSCORE user55:_danmu inf -inf LIMIT 0 3
1) message5555
2) message444444
3) message33333
返回指定时间段内的3条弹幕信息
redis ZREVRANGEBYSCORE user55:_danmu 1523959088894232 -inf LIMIT 0 3
1) message33333
2) message222222222222
3) message111111111111
计数类信息
计数类信息以用户维度为例有未读消息数关注数粉丝数经验值等等。这类消息适合以Redis中的Hash结构进行存储。
redis HSET user:55 follower 5
(integer) 1
redis HINCRBY user:55 follower 1 //关注数1
(integer) 6
redis HGETALL user:55
1) follow
2) 6
时间线信息
时间线信息是以时间为维度的信息列表典型的比如主播动态新帖。这类信息排序方式是固定的时间顺序可以考虑使用List或者SortedSet来存储。
redis LPUSH user:55_recent_activitiy {datetime:201804112010,type:publish,title:开播啦,content:加油}
(integer) 1
redis LPUSH user:55_recent_activitiy {datetime:201804131910,type:publish,title:请假,content:抱歉今天有事鸽一天}
(integer) 2
redis LRANGE user:55_recent_activitiy 0 10
1) {datetime:201804131910,type:publish,title:\xe8\xaf\xb7\xe5\x81\x87\,content:\xe6\x8a\xb1\xe6\xad\x89\xef\xbc\x8c\xe4\xbb\x8a\xe5\xa4\xa9\xe6\x9c\x89\xe4\xba\x8b\xe9\xb8\xbd\xe4\xb8\x80\xe5\xa4\xa9}
2) {datetime:201804112010,type:publish,title:\xe5\xbc\x80\xe6\x92\xad\xe5\x95\xa6,content:\xe5\x8a\xa0\xe6\xb2\xb9}
阿里云Redis优势
阿里云主从版Redis提供10万的QPS读写分离版本Redis提供60万QPS最大力度支持系统的高并发需求。资深专家团队深度开发维护Redis源码经千万服务考验超高稳定性和安全性。双机热备架构故障秒级自动迁移全力保障订单数据。一键创建一键扩容全方位智能监控运维平台。请求量活跃度一眼就能看清。专业服务团队实时监控可用性7 x 24小时在线咨询。
使用Redis混合存储实例存储信息
阿里云Redis混合存储产品完全兼容Redis协议用户无需修改任何代码以低成本的NVMe盘存储不常访问的直播间数据可以突破内存容量限制单实例最高可支持TB级别的数据容量。当Redis混合存储实例内存可以存储所有直播间数据时访问所有直播间数据均可享受极致性能。当直播间数据越来越多快要超过实例内存限制时Redis混合存储实例会自动从访问频率访问时间等维度选择冷门的直播间数据后台将其Value存储到磁盘上热门直播间数据仍然保留在内存中性能不受任何影响当访问到磁盘上的冷门直播间数据时数据会自动从后台加载到内存中所有IO操作都经过阿里云自研的新一代存储引擎Fusion Engine极致优化4K数据加载速度在20us左右通过将部分冷数据存储到磁盘的方式有效降低了用户成本并突破内存对单实例容量的限制。
原文链接
干货好文请关注扫描以下二维码