🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 安装扩展 在 Yii2 项目根目录,执行以下命令安装: ~~~ $ composer require yiisoft/yii2-redis ~~~ 也可以先在 composer.json 文件中声明如下依赖: ~~~ "yiisoft/yii2-redis": "~2.0.0" ~~~ 再执行下面命令安装: ~~~ $ composer update ~~~ # 基本使用 1. 配置 在组件中添加如下配置: ~~~ 'components' => [ 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], ] ~~~ 2. 示例 下面代码演示了 redis 最基本的 string 类型的使用: ~~~ // 获取 redis 组件 $redis = Yii::$app->redis; // 判断 key 为 username 的是否有值,有则打印,没有则赋值 $key = 'username'; if ($val = $redis->get($key);) { var_dump($val); } else { $redis->set($key, 'marko'); $redis->expire($key, 5); } ~~~ 这个类中(`yii\redis\Connection`)提供了操作 redis 所有的数据类型和服务(String、Hash、List、Set、SortedSet、HyperLogLog、GEO、Pub/Sub、Transaction、Script、Connection、Server)所需要的方法,并且和 redis 中的方法同名,如果不清楚可以直接到该类中查看。 # 缓存组件 该扩展中的`yii\redis\Cache`实现了 Yii2 中的缓存相关接口,所以我们也可以用 redis 来存储缓存,且用法和原来一样。 1. 配置 修改组件中 cache 的 class 为`yii\redis\Cache`即可,配置如下: ~~~ 'components' => [ 'cache' => [ // 'class' => 'yii\caching\FileCache', 'class' => 'yii\redis\Cache', ], ], ~~~ 如果没有配置过 redis 组件,需要在 cache 组件下配置 redis 服务相关参数,完整配置如下: ~~~ 'components' => [ 'cache' => [ // 'class' => 'yii\caching\FileCache', 'class' => 'yii\redis\Cache', 'redis' => [ 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], ], ], ~~~ 2. 示例 下面代码演示了缓存的基本使用: ~~~ // 获取 cache 组件 $cache = Yii::$app->cache; // 判断 key 为 username 的缓存是否存在,有则打印,没有则赋值 $key = 'username'; if ($cache->exists($key)) { var_dump($cache->get($key)); } else { $cache->set($key, 'marko', 60); } ~~~ 使用文件缓存(FileCache)时,缓存是存储在 `runtime/cache` 目录下;使用 redis 缓存后,缓存将存储在 redis 数据库中,性能将大大提高。