信息发布→ 登录 注册 退出

php中Yii框架添加redis

发布时间:2025-12-08

点击量:
在 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.phpconfig/main.php),在 'components' 数组中加入 redis 配置:

'redis' => [
    'class' => 'yii\redis\Connection',
    'hostname' => '127.0.0.1',
    'port' => 6379,
    'database' => 0,
    'password' => '', // 如有密码请填写
],

如果 Redis 启用了认证,务必填上 'password';若使用 Unix socket,可改用 'unixSocket' 参数。

测试是否可用

在任意控制器或控制台命令中写一段测试代码:

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 并测试一次读写。

标签:# redis  # yii框架  # php  # word  # 防火墙  # app  # 端口  # yii  # session  # 后端  # ai  # unix  # 路由  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!