tencent cloud

Tencent Cloud Distributed Cache (Redis OSS-Compatible)

PHP接続例

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-20 17:45:34
AI翻訳
このドキュメントでは、PHPクライアントを使用してTencent Cloud Distributed Cacheインスタンスに接続する例を紹介します。

事前準備

環境要件

PHP 7.0以降のバージョン。
phpredis拡張機能がインストール済みです(バージョン5.0以降を推奨)。

クライアントのインストール

PECLを使用してphpredis拡張機能をインストールします:
pecl install redis
インストール完了後、php.iniに以下の設定を追加します:
extension=redis.so
インストールを検証します:
php -m | grep redis

接続情報の取得

1. Distributed Cacheコンソールにログインします。
2. インスタンスリストで、対象インスタンスIDをクリックし、インスタンス詳細ページに移動します。
3. ネットワーク情報エリアで、インスタンスのVIPアドレスとポート(デフォルトは6379)を取得します。
4. 構成情報エリアで、インスタンスの接続パスワードを取得します。
デフォルトアカウントはインスタンスID:パスワード形式を使用し、カスタムアカウントはユーザー名@パスワード形式を使用します。パスワード不要の認証インスタンスはパスワードが不要です。

接続例

プロキシモードでは、クライアントはProxyプロキシレイヤーが提供する統一VIPアドレスを介してインスタンスに接続し、Proxyはリクエストルーティングとフェイルオーバーを自動的に処理し、クライアントはバックエンドのトポロジー変更を意識する必要がありません。

基本的な接続例

<?php
接続パラメータ
$host = "192.xx.xx.2"; // インスタンスVIPアドレス
$port = 6379; // インスタンスポート
$password = "crs-xxxx:パスワード"; // デフォルトアカウントのパスワード形式:インスタンスID:パスワード

// 接続を作成します
$redis = new Redis();

// インスタンスに接続し、タイムアウト時間を2秒に設定します。
$redis->connect($host, $port, 2.0);

// 認証
$redis->auth($password);

// データベースを選択します(プロキシモードはマルチDBをサポートしています)
$redis->select(0);

// データを書き込みます。
$redis->set("name", "Distributed Cache");

// データを読み取ります。
$value = $redis->get("name");
echo "get name: " . $value . "\\n";

// 有効期限付きのKeyを設定します。
$redis->setex("session:user123", 3600, "session_data");

// ハッシュ操作
$redis->hSet("user:1001", "name", "張三");
$redis->hSet("user:1001", "age", "28");
$userInfo = $redis->hGetAll("user:1001");
echo "user info: ";
print_r($userInfo);

// 接続を閉じます。
$redis->close();
?>

カスタムアカウント接続例

<?php
$host = "192.xx.xx.2";
$port = 6379;
$username = "myuser";
$password = "myuser@MyPassword"; // プロキシモードのカスタムアカウント:ユーザー名@パスワード全体をパスワードとして渡します。

$redis = new Redis();
$redis->connect($host, $port, 2.0);
$redis->auth($password);

$redis->set("key", "value");
echo $redis->get("key") . "\\n";

$redis->close();
?>

接続プールの例

高同時実行のシナリオでは、永続接続(pconnect)を使用してTCP接続を再利用し、接続確立のオーバーヘッドを削減することをお勧めします:
<?php
$host = "192.xx.xx.2";
$port = 6379;
$password = "crs-xxxx:パスワード";

// 永続接続を使用します。4番目のパラメータは永続接続フラグです。
$redis = new Redis();
$redis->pconnect($host, $port, 2.0, "persistent_id_01");
$redis->auth($password);

// 読み書きタイムアウトを設定します。
$redis->setOption(Redis::OPT_READ_TIMEOUT, 2);

// 業務操作
$redis->set("counter", 0);
$redis->incr("counter");
$count = $redis->get("counter");
echo "counter: " . $count . "\\n";

// 永続接続は明示的に閉じる必要はなく、PHPのライフサイクルによって管理されます。
?>

SSL暗号化接続例

<?php
$host = "192.xx.xx.2";
$port = 6379;
$password = "crs-xxxx:パスワード";
$caCertPath = "/path/to/ca.pem"; // CA証明書ファイルのパス

$redis = new Redis();

// TLS/SSLパラメータを設定します。
$redis->connect("tls://" . $host, $port, 2.0, null, 0, 0, [
'stream' => [
'verify_peer' => true,
'verify_peer_name' => false,
'cafile' => $caCertPath,
]
]);

$redis->auth($password);

$redis->set("ssl_test", "encrypted_connection");
echo $redis->get("ssl_test") . "\\n";

$redis->close();
?>

接続パラメータの説明

パラメータ
説明
推奨値
host
インスタンス接続アドレスです。プロキシモードではVIPアドレス、ダイレクトモードではシャードノードアドレスです。
-
port
インスタンスポート番号
6379
timeout
接続タイムアウト時間(秒)
2.0
read_timeout
読み取りタイムアウト時間(秒)
2.0
persistent
永続接続を使用するかどうか
高同時実行シーンでは有効にすることをお勧めします。
password
認証パスワード
デフォルトアカウント形式:インスタンスID:パスワード

よくあるご質問

接続タイムアウト

クライアントが存在するCVMと分散キャッシュデータベースインスタンスが同一VPC内にあることを確認してください。
セキュリティグループルールで該当ポートが開放されていることを確認してください。
接続アドレスとポートが正しいことを確認してください。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック