Update caching-data.md

This commit is contained in:
崔亮
2018-11-15 12:43:06 +08:00
committed by GitHub
parent ffb607b54b
commit 4862e95f5a

View File

@ -23,9 +23,9 @@ if ($data === false) {
// 这儿 $data 可以使用了。
```
从2.0.11版本开始, [缓存组件](#cache-components)
提供了[[yii\caching\Cache::getOrSet()|getOrSet()]] 方法来简化数据的取回、计算和存储。
下面的代码逻辑和上一个例子是完全一样的:
2.0.11 版本开始, [缓存组件](#cache-components)
提供了 [[yii\caching\Cache::getOrSet()|getOrSet()]] 方法来简化数据的取回、计算和存储。
下面的代码逻辑和上一个例子是完全一样的
```php
$data = $cache->getOrSet($key, function () {
@ -33,10 +33,10 @@ $data = $cache->getOrSet($key, function () {
});
```
当缓存中有关联$key的数据时将返回这个缓存的值。
当缓存中有关联 $key 的数据时,将返回这个缓存的值。
否则就执行匿名函数来计算出将要缓存的数据并返回它。
如果匿名函数需要作用域外的数据时,可以使用`use`语句把这些数据传递到匿名函数中。
如果匿名函数需要作用域外的数据时,可以使用 `use` 语句把这些数据传递到匿名函数中。
例如:
```php
@ -80,11 +80,11 @@ $data = $cache->getOrSet($key, function () use ($user_id) {
],
```
然后就可以通过 `Yii::$app->cache` 访问上面的缓存组件了。
然后就可以通过 `Yii::$app->cache` 访问上面的缓存组件了。
由于所有缓存组件都支持同样的一系列 API ,并不需要修改使用缓存的业务代码
就能直接替换为其他底层缓存组件,只需在应用配置中重新配置一下就可以。
例如,你可以将上述配置修改为使用 [[yii\caching\ApcCache|APC cache]]:
例如,你可以将上述配置修改为使用 [[yii\caching\ApcCache|APC cache]]
```php
@ -420,14 +420,15 @@ $result = $db->cache(function ($db) {
### 缓存冲刷 <span id="cache-flushing">
当你想让所有的缓存数据失效时,可以调用[[yii\caching\Cache::flush()]]。
当你想让所有的缓存数据失效时,可以调用 [[yii\caching\Cache::flush()]]。
冲刷缓存数据,你还可以从控制台调用`yii cache/flush`
- `yii cache`: 列出应用中可用的缓存组件
- `yii cache/flush cache1 cache2`: 冲刷缓存组件`cache1`, `cache2`
冲刷缓存数据,你还可以从控制台调用 `yii cache/flush`
- `yii cache`列出应用中可用的缓存组件
- `yii cache/flush cache1 cache2`:刷新缓存组件`cache1``cache2`
(可以传递多个用空格分开的缓存组件)
- `yii cache/flush-all`: 冲刷应用中所有的缓存组件
- `yii cache/flush-all`:刷新应用中所有的缓存组件
- `yii cache/flush-schema db`:清除给定连接组件的数据库表结构缓存
> Info: 默认情况下,控制台应用使用独立的配置文件。
所以为了上述命令发挥作用请确保Web应用和控制台应用配置相同的缓存组件。
所以,为了上述命令发挥作用,请确保 Web 应用和控制台应用配置相同的缓存组件。