帮你快速理解、总结文档立即下载

PHP 连接示例

最近更新时间:2026-08-14 15:52:31
我的收藏
本文介绍使用 PHP 客户端连接腾讯云分布式缓存数据库实例的示例。

准备工作

环境要求

PHP 7.0及以上版本。
已安装 phpredis 扩展(推荐5.0及以上版本)。

安装客户端

通过 PECL 安装 phpredis 扩展:
pecl install redis
安装完成后,在 php.ini 中添加以下配置:
extension=redis.so
验证安装:
php -m | grep redis

获取连接信息

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", "腾讯云分布式缓存数据库");

// 读取数据
$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:密码";

// 使用持久连接,第四个参数为持久连接标识
$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 内。
确认安全组规则已放通对应端口。
确认连接地址和端口正确。