Huawei クラウド アプリケーション ミドルウェア DCS シリーズ - Redis 実装 (ライブ ビデオ) メッセージ連発

クラウドサービス、API、SDK、デバッグ、閲覧、全部できます

短い記事から学ぶことができます: アプリケーション ミドルウェア シリーズの Redis 実装 (ビデオ ライブ ブロードキャスト) メッセージ連発

1 DEVKITとは

Huawei Cloud Developer Plug-in (Huawei Cloud Toolkit) は、Huawei Cloud の製品機能を開発者のデスクトップに拡張するもので、開発者がローカルで Huawei Cloud に迅速に接続できるようにし、Huawei Cloud から開発者へのラストマイルを開放します。Huawei Cloud ToolKit は、Huawei Cloud の開発者エコシステム ツール システムを中心に構築された一連の IDE プラグインであり、VS Code、IntelliJ IDEA およびその他の一連のプラットフォームに加え、Huawei Cloud の自社開発 CodeArts IDE をサポートし、開発者がより効率的にアプリケーションを構築できるようにします。そして便利に。開発者により安定、高速、安全なプログラミング エクスペリエンスを提供することに尽力します。

体験パス:ツールキット - Huawei Cloud

2 IDE と DEVKIT の関係

2.1 CodeArts IDEとは何ですか?

CodeArts IDE は、ソース コード エディターのシンプルさと、コード補完やデバッグなどの開発者ツールの機能を組み合わせた統合開発環境 (IDE) です。

ダウンロード パス: Toolkit-Huawei Cloud

2.2 IntelliJ IDEA と DEVKIT の関係

インストールの準備

JDK1.8以降をダウンロードしてインストールします。

IntelliJ IDEA 2020.2 以降をダウンロードしてインストールします。

インストールの検証

IntelliJ シリーズ プラットフォームにプラグインが正常にインストールされると、左側のナビゲーション バーに Huawei Cloud Toolkit アイコンが表示され、それをクリックすると背面パネルに「Huawei Cloud API」という文字が表示され、インストールが成功したことが示されます。

ダウンロード パス: Toolkit-Huawei Cloud

2.3 CodeArts IDE と DEVKIT の関係

API プラグインは CodeArts IDE のネイティブ組み込みプラグインであり、デフォルトでインストールされます。関連するアイコンは左側のナビゲーション バーに表示されます。

ダウンロード パス: Toolkit-Huawei Cloud

2.4 Visual Studio Code IDE と DEVKIT の関係

インストールの準備

最新バージョンの Visual Studio Code をダウンロードしてインストールします。

インストールの検証

VS Code IDE にプラグインが正常にインストールされると、左側のナビゲーション バーに Huawei Cloud Toolkit アイコンが表示され、それをクリックすると背面パネルに「Huawei Cloud API」という文字が表示され、インストールが成功したことが示されます。

ダウンロード パス: Toolkit-Huawei Cloud

3 Redis実装(ビデオライブブロードキャスト)メッセージ連発例(Java版)

3.1 Redisを利用してランキング機能を実装する

リリースノート

この例は、Huawei Cloud Distributed Cache Service Redis Basic Edition 5.0 に基づいて開発されています。

導入

Redis実装(ビデオライブブロードキャスト)メッセージ連発例(Java版)

ライブ ブロードキャスト ルームのオンライン ユーザー リスト、ギフト ランキング、集中砲火メッセージ、その他の情報はすべて、Redis の SortedSet 構造を使用したスト​​レージに適しています。

たとえば、ZREVRANGEBYSCORE を使用して弾幕メッセージを並べ替えて返すことができます。Redis 5.0 では、メッセージ処理をより便利にするために zpopmax および zpopmin コマンドが追加されています。

この演習では、Redis を使用してメッセージ弾幕機能 (ビデオ ライブ ブロードキャスト) を実装する方法を紹介します。

開発前の準備

Huawei Cloud アカウントを登録します。詳細な手順については、「Huawei Cloud Management Console のユーザーとして登録する方法」を参照してください。, 実名認証が完了します。

パブリック IP アドレスを持つ ECS が購入されました。詳細については、「Linux Elastic Cloud サーバーの購入とログイン」を参照してください。

DCS キャッシュ インスタンスが購入されました。詳細な操作については、「キャッシュ インスタンスの購入」を参照してください。DCS インスタンスと購入した ECS が同じ仮想プライベート クラウドおよびサブネット内にあることを確認し、購入したインスタンスで Redis へのパブリック ネットワーク アクセスを構成する必要があります。詳細については、「Nginx を使用してパブリック ネットワークから Redis 4.0/5.0 スタンドアロン/アクティブ/スタンバイ/プロキシ クラスター インスタンスにアクセスする」を参照してください。

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 表示効果

上記のデモ プログラムをコンパイルして実行すると、結果は次のようになります。

ライブ弾幕リスト

弾幕内容: 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

プロセスは終了コード 0 で終了しました

4 プラグインの魅力を体験する

Huawei Cloud 開発キットがオンラインになりました: Toolkit-Huawei Cloud

おすすめ

転載: blog.csdn.net/hwxiaozhi/article/details/133876128