[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 数据库中,性能将大大提高。
- 目录
- 配置
- 简介
- 别名
- gii
- 配置项
- 模型
- 简介
- 增删改查
- AR和model
- 模型事件
- 场景
- query查询
- 增删改
- AR查询器
- 模型关系定义
- AR模型连表查询
- fields
- where拼接
- 模块
- 创建模块
- 控制器
- 表单
- 跳转
- 响应
- 验证器
- Action
- 组件
- url
- 分页
- 验证码
- 缓存
- 文件上传
- 预启动组件
- 事件
- 自定义组件
- redis
- 日志
- 行为
- cookie和session
- 基础知识
- 创建一个类
- 配置一个类
- object基类
- component组件类特性
- phpstorm无法更改php等级
- url地址美化
- 过滤器
- 请求处理
- 请求组件
- 响应组件
- header
- 用户登录
- 实现IdentityInterface接口
- 登录
- 自动检测登录
- 获取用户信息
- 访问行为追踪
- phpstorm+postman断点调试