テクノロジーの発展に伴い、家庭用モノのインターネット (IoT) がますます多くの家庭で選択されるようになりました。ただし、すべてのデバイスがリアルタイムで対話できるようにするには、信頼できるミドルウェアが必要です。この記事では、PHPとRedisを使ってリアルタイムホームIoTを実装する方法を紹介します。
- Redis のインストール
まず、サーバーに Redis をインストールして構成する必要があります。 Redis は、データベース、キャッシュ、メッセージ キューとして使用されるオープン ソースのメモリ内データ構造ストレージ システムです。
Linux サーバーに Redis をインストールするには、次のコマンドを使用できます:
sudo apt-get update
sudo apt-get install redis-server
ログイン後にコピー
インストールが完了したら、次のコマンドを実行して Redis が実行されているかどうかを確認できます。
実行結果が「PONG」であれば、Redis は実行されており、引き続き使用できます。
Redis への接続とセットアップ
PHP では、PHP Redis 拡張ライブラリを使用して Redis と対話できます。次のコマンドを実行してインストールできます:
sudo apt-get install php-redis
ログイン後にコピー
Redis インスタンスに接続するには、次のコードを使用できます:
$redis = new Redis();
$redis->connect('127.0.0.1');
ログイン後にコピー
Connect メソッドで、Redis インスタンスの IP アドレスを渡します。 Redis インスタンス。 Redis がローカル マシン上にない場合は、IP アドレスをインスタンスの有効な IP アドレスに変更します。
次に、次のような Redis の設定を行う必要があります。
キーの有効期限を設定する永続性を有効にするRedis パスワードを構成する #これらの設定については、次のセクションで詳しく説明します。
PHP でのパブリッシュ/サブスクライブ パターンの実装
パブリッシュ/サブスクライブ パターンは、リアルタイム通信を実現するために使用できる一般的なメッセージング パターンです。その中で、パブリッシャーはメッセージをチャネルにパブリッシュし、サブスクライバーはこのチャネルに登録して関連メッセージを受信できます。
PHP では、パブリッシュ/サブスクライブ モードは、publish メソッドを使用して実装されます。以下に例を示します。
$redis->publish('channel', 'message');
ログイン後にコピー
このコードでは、「message」を「channel」という名前のチャネルにパブリッシュします。チャネルにサブスクライブするには、subscribe メソッドを使用します。例:
$redis->subscribe(array('channel'), function ($redis, $channel, $message) {
echo "Received message on channel $channel: $message";
});
ログイン後にコピー
このコードでは、「channel」という名前のチャネルをサブスクライブし、ログイン時に受信したメッセージをユーザーに返します。
永続性の実現
永続性は、データの損失を避けるために Redis データをディスクに書き込む方法です。 Redis サーバーがクラッシュした場合、データを回復し、データの整合性を保証できます。利用可能な永続性には 2 つのタイプがあります。
RDB: Redis データをディスク上のバイナリ ファイルに保存します。
- AOF: Redis 操作を Redis のログ ファイルに保存します。 サーバーは再起動時に操作を再生できます。データセットを再構築します。
次のコマンドを使用して永続モードを構成できます:
$redis->config('SET', 'save', '900 1 300 10 60 10000');
ログイン後にコピー
この例では、少なくとも次の期間データ セットをハードディスクに保存するように Redis 構成を設定します。
##900 秒以内に少なくとも 1 つのキーが変更されました
300 秒以内に少なくとも 10 のキーが変更されました60 秒以内に少なくとも 10,000 のキーが変更されましたRedis パスワードの構成
- デフォルトでは、Redis にはパスワードがありません。したがって、セキュリティ上の理由から、Redis でパスワードを設定する必要があります。
次のコードを使用して Redis パスワードを設定できます:
$redis->config('SET', 'requirepass', 'myPassword');
ログイン後にコピー
「myPassword」を任意のパスワードに変更します。
概要
- この記事では、PHP と Redis を使用してリアルタイム ホーム IoT を実装する方法を紹介しました。 Redis に接続する方法、Redis キーの有効期限を設定する方法、永続性を有効にする方法、Redis パスワードを構成する方法、PHP でパブリッシュ/サブスクライブ パターンを実装する方法について説明しました。
これらのテクノロジーにより、リアルタイム デバイス間の通信をより簡単に実現し、データのセキュリティと整合性を維持できます。
以上がPHP と Redis を使用してリアルタイム ホーム IoT を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。