[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斷點調試