在 Yii 2.x 中添加 Redis 支持需配置 redis 组件并注册到应用,确保已安装 redis 扩展、Redis 服务运行,并在 config/web.php 的 components 中配置 hostname、port 等参数,再通过 Yii::$app->redis 调用测试读写。

在 Yii 框架中添加 Redis 支持,核心是配置 Redis 组件并注册到应用中,让控制器、模型等地方能通过 Yii::$app->redis 调用。不同版本(Yii 2 和 Yii 3)略有差异,下面以主流的 Yii 2.x 为例说明(兼容 PHP 7.0+,Redis 扩展已安装)。
确认环境已就绪
添加前先确保:
- PHP 已安装
redis扩展(运行php -m | grep redis可验证) - Redis 服务正在运行(如本地
127.0.0.1:6379) - 项目使用的是 Yii 2.0.12 或更高版本(推荐 2.0.45+)
配置 Redis 组件(main.php 或 web.php)
打开应用配置文件(通常是 config/web.php 或 config/main.php),在 'components' 数组中加入 redis 配置:
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => '127.0.0.1',
'port' => 6379,
'database' => 0,
'password' => '', // 如有密码请填写
],
如果 Redis 启用了认证,务必填上 'password';若使用 Unix socket,可改用 'unixSocket' 参数。
立即学习“PHP免费学习笔记(深入)”;
测试是否可用
在任意控制器或控制台命令中写一段测试代码:
public function actionTestRedis()
{
$redis = Yii::$app->redis;
$redis->set('test_key', 'hello from yii');
$value = $redis->get('test_key');
var_dump($value); // 输出:string(16) "hello from yii"
}
访问对应路由(如 /site/test-redis),看到输出即表示成功接入。
进阶:使用 Redis 作为缓存或会话驱动
除了直接操作,你还可以复用 Redis 组件做更高级用途:
-
缓存组件:把
'cache' => ['class' => 'yii\redis\Cache'] 加入 components,自动替换默认文件缓存
- Session 存储:配置
'session' => ['class' => 'yii\redis\Session'],让 session 数据存 Redis -
队列支持(需额外扩展):配合
yii2-queue使用 Redis 作为消息队列后端
这些只需换 class 类名,底层仍走上面配好的 redis 连接,无需重复写 host/port。
基本上就这些。不复杂但容易忽略扩展是否启用、密码是否匹配、端口是否被防火墙拦截——配完记得跑个 php yii serve 并测试一次读写。











