写点什么

华为云应用中间件 DCS 系列—Redis 实现(视频直播)消息弹幕

  • 2023-10-17
    广东
  • 本文字数:3236 字

    阅读完需:约 11 分钟

云服务、API、SDK,调试,查看,我都行


阅读短文您可以学习到:应用中间件系列之 Redis 实现(视频直播)消息弹幕


1 什么是 DEVKIT 华为云开发者插件(Huawei Cloud Toolkit),作为华为云围绕其产品能力向开发者桌面上的延伸,帮助开发者快速在本地连接华为云,打通华为云到开发者的最后一公里。Huawei Cloud ToolKit 是围绕华为云开发者生态工具体系打造的一系列 IDE 插件,支持 VS Code、IntelliJ IDEA 等系列平台、以及华为云自研 CodeArts IDE ,帮助开发者更高效、便捷的搭建应用。致力于为开发者提供更稳定、快速、安全的编程体验。


体验路径:https://developer.huaweicloud.com/develop/toolkit.html


2 IDE 与 DEVKIT 的关系 2.1 什么是 CodeArts IDE?CodeArts IDE 是一个集成开发环境(IDE),兼具源代码编辑器的简易性和开发人员工具的强大功能,如代码补全和调试。


下载路径:https://developer.huaweicloud.com/develop/toolkit.html


2.2 IntelliJ IDEA 与 DEVKIT 的关系安装准备


下载并安装 JDK1.8 或更高版本。


下载并安装 IntelliJ IDEA 2020.2 或更高版本。


安装验证


在 IntelliJ 系列平台上安装插件成功后在左侧的导航栏中可以看到 Huawei Cloud Toolkit 图标,点击后面板会出现 Huawei Cloud API 的字样,则说明安装成功。


下载路径:https://developer.huaweicloud.com/develop/toolkit.html


2.3 CodeArts IDE 与 DEVKIT 的关系 API 插件是 CodeArts IDE 原生内置的插件,默认已经安装。左侧的导航栏中可以看到相关图标。


下载路径:https://developer.huaweicloud.com/develop/toolkit.html


2.4 Visual Studio Code IDE 与 DEVKIT 的关系安装准备


下载并安装 Visual Studio Code 最新版本。


安装验证


在 VS Code IDE 安装插件成功后在左侧的导航栏中可以看到 Huawei Cloud Toolkit 图标,点击后面板会出现 Huawei Cloud API 的字样,则说明安装成功。


下载路径:https://developer.huaweicloud.com/develop/toolkit.html


3 Redis 实现(视频直播)消息弹幕示例(Java 版本)3.1 使用 Redis 实现排行榜功能版本说明


本示例基于华为云分布式缓存服务 Redis 基础版 5.0 开发。


简介


Redis 实现(视频直播)消息弹幕示例(Java 版本)


直播间的在线用户列表,礼物排行榜,弹幕消息等信息,都适合使用 Redis 中的 SortedSet 结构进行存储。


例如弹幕消息,可使用 ZREVRANGEBYSCORE 排序返回,在 Redis 5.0 中,新增了 zpopmax,zpopmin 命令,更加方便消息处理。


本实践介绍如何使用 Redis 实现(视频直播)消息弹幕功能。


开发前准备


注册华为云账号,详细操作请参见如何注册华为云管理控制台的用户?,并完成实名认证。


已购买具有公网 IP 的 ECS,详细操作请参见购买并登录 Linux 弹性云服务器。


已购买 DCS 缓存实例,详细操作请参见购买缓存实例,且需保证 DCS 实例与已购买具的 ECS 在同一虚拟私有云、子网内,并在已购买具的 ECS 上配置公网访问 Redis,详细操作请参见使用 Nginx 实现公网访问 Redis 4.0/5.0 的单机/主备/Proxy 集群实例。


安装 SDK


您可以通过 Maven 方式获取和安装 SDK,首先需要在您的操作系统中下载并安装 Maven ,安装完成后您只需要在 Java 项目的 pom.xml 文件中加入相应的依赖项即可。


<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>开始使用


导入依赖模块


//导入数据类型类 import java.util.Set;//Redis 客户端 Jedis 类 import redis.clients.jedis.Jedis;


生成直播间弹幕数据


示例代码


int num = 5;// 随机生成进入直播间发弹幕用户数据 for (int i = 0; i < num; i++) {jedisClient.zadd(key, danmuOrder + i,"message" + (i + 1) + (i + 1) + (i + 1) + (i + 1) + (i + 1) + (i + 1));}


获取直播间弹幕


示例代码


// 获取所有新增弹幕 Set<String> sortedDanmuList = jedisClient.zrevrangeByScore(key, danmuOrder + num, danmuOrder);for (String danmu : sortedDanmuList) {System.out.println(danmu);}


        System.out.println();
System.out.println(" " + key + "直播间最新的3条弹幕");
Set<String> sorteDamu0List = jedisClient.zrevrangeByScore(key, danmuOrder + num, danmuOrder, 0, 3); for (String danmu : sorteDamu0List) { System.out.println(danmu); }
复制代码


3.2 展示效果编译并运行以上 Demo 程序,结果如下:


直播弹幕列表


弹幕内容: message-07f1add5-2f85-4309-9f31-313c860b33dc, 发送时间: 1686902337377


弹幕内容: message-2062e817-3145-4d8b-af7f-46f334c8569c, 发送时间: 1686902337394


弹幕内容: message-ad36a0ca-e8bd-4883-a091-e12a25c00106, 发送时间: 1686902337396


弹幕内容: message-f02f9960-bb57-49ae-b7d8-6bd6d3ad3d14, 发送时间: 1686902337412


弹幕内容: message-5ca39948-866e-4e54-a469-f958cae843f6, 发送时间: 1686902337457


弹幕内容: message-5cc8b4ba-da61-4d01-9625-cf2e7337ef10, 发送时间: 1686902337489


弹幕内容: message-15378516-18ce-4da7-bd3c-35c57dd65602, 发送时间: 1686902337495


弹幕内容: message-1b280525-53e5-4fc6-a3e7-fb8e71eef85e, 发送时间: 1686902337540


弹幕内容: message-adf876d1-e747-414e-92a2-397fc329bd58, 发送时间: 1686902337541


弹幕内容: message-1d8d7901-164f-4dd4-abb4-6f2345164b0e, 发送时间: 1686902337582


弹幕内容: message-fb35b1b4-277a-48bf-b22b-80070aae8475, 发送时间: 1686902337667


弹幕内容: message-973b1b03-bf95-44d8-ab91-0c317b2d61b3, 发送时间: 1686902337755


弹幕内容: message-1481f883-757d-47f7-b8c0-df024d6e64a4, 发送时间: 1686902337770


弹幕内容: message-b79292ca-2409-43fb-aaf0-e33f3b9d9c8d, 发送时间: 1686902337820


弹幕内容: message-66b0e955-d509-4475-9ae5-12fb86cf9596, 发送时间: 1686902337844


弹幕内容: message-12b6d15a-037a-47ee-8294-8625d202c0a0, 发送时间: 1686902337907


弹幕内容: message-fbc06323-da2a-44b8-874b-d2cf1a737064, 发送时间: 1686902337927


弹幕内容: message-7a0f787c-aff1-422f-9e62-4beda0cd5914, 发送时间: 1686902337977


弹幕内容: message-8ba5e4e0-22af-4f80-90a6-35062967e0fd, 发送时间: 1686902337992


弹幕内容: message-fa9e1169-e918-4141-9805-87edcf84c379, 发送时间: 1686902338000


弹幕内容: message-5d17be15-ba2e-461f-aba5-65c20c21d313, 发送时间: 1686902338059


弹幕内容: message-dcedc840-1be7-496a-b781-5b79c2091fe5, 发送时间: 1686902338067


弹幕内容: message-9e39eb28-6629-4d4c-8970-2acdc0e81a5c, 发送时间: 1686902338102


弹幕内容: message-030b11fe-c258-4ca2-ac82-5e6ca1eb688f, 发送时间: 1686902338211


弹幕内容: message-93322018-a987-47ba-8093-3937dddda97d, 发送时间: 1686902338242


弹幕内容: message-bc04a9b0-ec83-4a24-83f6-0a4f25ee8896, 发送时间: 1686902338281


弹幕内容: message-c6dd96d0-c938-41e4-b5d8-6275fdf83050, 发送时间: 1686902338290


弹幕内容: message-12b70173-1b86-4370-a7ea-dc0ade135422, 发送时间: 1686902338312


弹幕内容: message-a39c2ef8-8167-4945-b60d-355db6c69005, 发送时间: 1686902338318


弹幕内容: message-2c3bf2fb-5298-472c-958c-c4b53d734e89, 发送时间: 1686902338326


最新的 5 条弹幕信息


弹幕内容: message-2c3bf2fb-5298-472c-958c-c4b53d734e89, 发送时间: 1686902338326


弹幕内容: message-a39c2ef8-8167-4945-b60d-355db6c69005, 发送时间: 1686902338318


弹幕内容: message-12b70173-1b86-4370-a7ea-dc0ade135422, 发送时间: 1686902338312


弹幕内容: message-c6dd96d0-c938-41e4-b5d8-6275fdf83050, 发送时间: 1686902338290


弹幕内容: message-bc04a9b0-ec83-4a24-83f6-0a4f25ee8896, 发送时间: 1686902338281


Process finished with exit code 0


4 体验插件的魅力华为云 devkit 已上线:https://developer.huaweicloud.com/develop/toolkit.html

用户头像

公众号:华为云PaaS服务,有见面礼等你哦! 2022-09-26 加入

还未添加个人简介

评论

发布
暂无评论
华为云应用中间件DCS系列—Redis实现(视频直播)消息弹幕_云计算_华为云PaaS服务小智_InfoQ写作社区