php实现 redis
安装 Redis 扩展
确保 PHP 环境中已安装 Redis 扩展。可以通过以下命令安装:
pecl install redis
在 php.ini 文件中添加 extension=redis.so(Linux)或 extension=php_redis.dll(Windows),然后重启 Web 服务器。
连接 Redis 服务器
使用 Redis 类创建连接实例,并连接到 Redis 服务器:
$redis = new Redis();
$redis->connect('127.0.0.1', 6379); // 默认端口 6379
如果需要密码认证:
$redis->auth('your_password');
基本操作示例
存储和获取字符串:
$redis->set('key', 'value');
$value = $redis->get('key');
echo $value; // 输出: value
设置过期时间(秒):
$redis->setex('expiring_key', 3600, 'data'); // 1 小时后过期
哈希表操作
存储哈希表:
$redis->hSet('user:1', 'name', 'Alice');
$redis->hSet('user:1', 'age', 30);
获取哈希表字段:
$name = $redis->hGet('user:1', 'name');
echo $name; // 输出: Alice
列表操作
向列表添加元素:
$redis->lPush('tasks', 'task1');
$redis->lPush('tasks', 'task2');
获取列表范围:
$tasks = $redis->lRange('tasks', 0, -1); // 获取所有元素
print_r($tasks); // 输出: Array ( [0] => task2 [1] => task1 )
发布/订阅模式
发布消息:
$redis->publish('channel', 'Hello, subscribers!');
订阅频道(需在 CLI 环境下运行):
$redis->subscribe(['channel'], function ($redis, $channel, $message) {
echo "Received: $message\n";
});
错误处理
使用 try-catch 捕获异常:
try {
$redis->connect('invalid_host', 6379);
} catch (RedisException $e) {
echo "Connection failed: " . $e->getMessage();
}
关闭连接
手动关闭连接:

$redis->close();
注意事项
- 确保 Redis 服务器已启动并监听正确端口。
- 生产环境中建议使用连接池或持久化连接以提高性能。
- 敏感数据(如密码)应通过环境变量或配置管理工具存储。






