Commit 5d9d8a71 by Alexander Makarov

Merge pull request #6965 from nepster-web/patch-3

[skip ci] Update caching-data.md
parents 3a1e4523 fdeebfdc
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
основой для расширенных возможностей, таких как [кэширование запросов](#query-caching) основой для расширенных возможностей, таких как [кэширование запросов](#query-caching)
и [кэширование страниц](caching-page.md). и [кэширование страниц](caching-page.md).
Приведённый ниже код является типичным случаем кэширования данных, где `$cache` указывает на [компонент кеширования](#cache-components): Приведённый ниже код является типичным случаем кэширования данных, где `$cache` указывает на [компонент кэширования](#cache-components):
```php ```php
// Пробуем извлечь $data из кэша. // Пробуем извлечь $data из кэша.
...@@ -23,7 +23,7 @@ if ($data === false) { ...@@ -23,7 +23,7 @@ if ($data === false) {
``` ```
## Компоненты кеширования <a name="cache-components"></a> ## Компоненты кэширования <a name="cache-components"></a>
Кэширование данных опирается на *компоненты кэширования*, которые представляют различные хранилища, такие как память, Кэширование данных опирается на *компоненты кэширования*, которые представляют различные хранилища, такие как память,
файлы и базы данных. файлы и базы данных.
...@@ -82,7 +82,7 @@ Yii поддерживает множество хранилищ кэша: ...@@ -82,7 +82,7 @@ Yii поддерживает множество хранилищ кэша:
вы должны создать таблицу, как описано в [[yii\caching\DbCache::cacheTable]]. вы должны создать таблицу, как описано в [[yii\caching\DbCache::cacheTable]].
* [[yii\caching\DummyCache]]: является кэшем-пустышкой, не реализующим реального кэширования. Смысл этого компонента в * [[yii\caching\DummyCache]]: является кэшем-пустышкой, не реализующим реального кэширования. Смысл этого компонента в
упрощении кода, который должен проверить наличие кэша. Вы можете использовать данный тип кэша, например, при разработке упрощении кода, который должен проверить наличие кэша. Вы можете использовать данный тип кэша, например, при разработке
или если сервер не поддерживает кэш и переключиться на реальное кеширование позже. Для извлечения данных, в этом случае, или если сервер не поддерживает кэш и переключиться на реальное кэширование позже. Для извлечения данных, в этом случае,
используется один и тот же код `Yii::$app->cache->get($key)`. При этом можно не беспокоиться, что `Yii::$app->cache` используется один и тот же код `Yii::$app->cache->get($key)`. При этом можно не беспокоиться, что `Yii::$app->cache`
может быть `null`. может быть `null`.
* [[yii\caching\FileCache]]: использует обычные файлы для хранения кэшированных данных. Замечательно подходит для * [[yii\caching\FileCache]]: использует обычные файлы для хранения кэшированных данных. Замечательно подходит для
...@@ -129,7 +129,7 @@ Yii поддерживает множество хранилищ кэша: ...@@ -129,7 +129,7 @@ Yii поддерживает множество хранилищ кэша:
[[yii\caching\Cache::mget()|mget()]] и [[yii\caching\Cache::madd()|madd()]]. В случае, если хранилище не поддерживает [[yii\caching\Cache::mget()|mget()]] и [[yii\caching\Cache::madd()|madd()]]. В случае, если хранилище не поддерживает
эту функцию, она будет имитироваться. эту функцию, она будет имитироваться.
Так как [[yii\caching\Cache]] реализует `ArrayAccess`, компонент кеша можно испльзовать как массив: Так как [[yii\caching\Cache]] реализует `ArrayAccess`, компонент кэша можно испльзовать как массив:
```php ```php
$cache['var1'] = $value1; // эквивалентно: $cache->set('var1', $value1); $cache['var1'] = $value1; // эквивалентно: $cache->set('var1', $value1);
...@@ -179,7 +179,7 @@ $value2 = $cache['var2']; // эквивалентно: $value2 = $cache->get('v ...@@ -179,7 +179,7 @@ $value2 = $cache['var2']; // эквивалентно: $value2 = $cache->get('v
Элементы данных, хранимые в кэше, остаются там навсегда если только они не будут удалены из-за особенностей Элементы данных, хранимые в кэше, остаются там навсегда если только они не будут удалены из-за особенностей
функционирования хранилища (например, место для кэширования заполнено и старые данные удаляются). Чтобы изменить этот функционирования хранилища (например, место для кэширования заполнено и старые данные удаляются). Чтобы изменить этот
режим, вы можете передать истечение срока действия ключа при вызове метода [[yii\caching\Cache::set()|set()]]. режим, вы можете передать истечение срока действия ключа при вызове метода [[yii\caching\Cache::set()|set()]].
Параметр указывает, сколько секунд элемент кеша может считаться актуальным. Если срок годности ключа истёк, Параметр указывает, сколько секунд элемент кэша может считаться актуальным. Если срок годности ключа истёк,
[[yii\caching\Cache::get()|get()]] вернёт `false`: [[yii\caching\Cache::get()|get()]] вернёт `false`:
...@@ -259,7 +259,7 @@ $result = $db->cache(function ($db) { ...@@ -259,7 +259,7 @@ $result = $db->cache(function ($db) {
Кэширование запросов имеет три глобальных конфигурационных параметра через [[yii\db\Connection]]: Кэширование запросов имеет три глобальных конфигурационных параметра через [[yii\db\Connection]]:
* [[yii\db\Connection::enableQueryCache|enableQueryCache]]: включить или выключить кэширование запросовю. * [[yii\db\Connection::enableQueryCache|enableQueryCache]]: включить или выключить кэширование запросов.
По умолчанию `true`. Стоит отметить, что для использования кэширования вам может понадобиться компонент По умолчанию `true`. Стоит отметить, что для использования кэширования вам может понадобиться компонент
cache, как показано в [[yii\db\Connection::queryCache|queryCache]]. cache, как показано в [[yii\db\Connection::queryCache|queryCache]].
* [[yii\db\Connection::queryCacheDuration|queryCacheDuration]]: количество секунд, в течение которых результат кэшируется. * [[yii\db\Connection::queryCacheDuration|queryCacheDuration]]: количество секунд, в течение которых результат кэшируется.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment