Commit bcdd8b26 by Riverlet

partial translation.

parent 5584b834
...@@ -24,7 +24,7 @@ if ($data === false) { ...@@ -24,7 +24,7 @@ if ($data === false) {
## 缓存组件 <a name="cache-components"></a> ## 缓存组件 <a name="cache-components"></a>
数据缓存需要称作“*缓存组件*”的东西提供支持,它代表着各种缓存存储介质,例如内存,文件,数据库。 数据缓存需要称作“*缓存组件*”的东西提供支持,它代表着各种缓存存储,例如内存,文件,数据库。
缓存组件通常注册为应用程序组件,这样它们就可以接受全局性配置和调用。如下代码演示了如何配置 `cache` 缓存组件通常注册为应用程序组件,这样它们就可以接受全局性配置和调用。如下代码演示了如何配置 `cache`
应用程序组件使用两个 [memcached](http://memcached.org/) 服务器: 应用程序组件使用两个 [memcached](http://memcached.org/) 服务器:
...@@ -66,41 +66,30 @@ if ($data === false) { ...@@ -66,41 +66,30 @@ if ($data === false) {
> Tip: 你可以注册多个缓存组件,很多依赖缓存的类默认调用名为 `cache` 的组件(例如 [[yii\web\UrlManager]])。 > Tip: 你可以注册多个缓存组件,很多依赖缓存的类默认调用名为 `cache` 的组件(例如 [[yii\web\UrlManager]])。
### Supported Cache Storage <a name="supported-cache-storage"></a> ### 支持的缓存存储器 <a name="supported-cache-storage"></a>
Yii supports a wide range of cache storage. The following is a summary: Yii 支持一系列缓存存储器,概况如下:
* [[yii\caching\ApcCache]]: uses PHP [APC](http://php.net/manual/en/book.apc.php) extension. This option can be * [[yii\caching\ApcCache]]: 使用 PHP [APC](http://php.net/manual/en/book.apc.php) 扩展。这个选项可以认为是集中式应用程序环境中(例如:单一服务器,没有独立的负载均衡器等)最快的缓存方案。
considered as the fastest one when dealing with cache for a centralized thick application (e.g. one * [[yii\caching\DbCache]]: 使用一个数据库的表存储缓存数据。要使用这个缓存,你必须创建一个 [[yii\caching\DbCache::cacheTable]] 对应的表。
server, no dedicated load balancers, etc.). * [[yii\caching\DummyCache]]: 仅作为一个缓存占位符,不实现任何真正的缓存功能。
* [[yii\caching\DbCache]]: uses a database table to store cached data. To use this cache, you must 这个组件的目的是为了简化那些需要查询缓存有效性的代码。例如,在开发中如果服务器没有实际的缓存支持,你就可以用它配置一个缓存组件。
create a table as specified in [[yii\caching\DbCache::cacheTable]]. 一个真正的缓存服务启用后,就可以切换为使用相应的缓存组件。两种条件下你都可以使用同样的代码
* [[yii\caching\DummyCache]]: serves as a cache placeholder which does no real caching. `Yii::$app->cache->get($key)` 尝试从缓存中获取数据而不用担心
The purpose of this component is to simplify the code that needs to check the availability of cache. `Yii::$app->cache` 可能是 `null`
For example, during development or if the server doesn't have actual cache support, you may configure * [[yii\caching\FileCache]]: 使用标准文件存储缓存数据。这个特别适用于缓存大块数据,例如一个网页的内容。
a cache component to use this cache. When an actual cache support is enabled, you can switch to use * [[yii\caching\MemCache]]: 使用 PHP [memcache](http://php.net/manual/en/book.memcache.php)
the corresponding cache component. In both cases, you may use the same code [memcached](http://php.net/manual/en/book.memcached.php) 扩展。这个选项可以认为是分布式应用程序环境中(例如:多台服务器,有负载均衡等)最快的缓存方案。
`Yii::$app->cache->get($key)` to attempt retrieving data from the cache without worrying that * [[yii\redis\Cache]]: 实现了一个基于 [Redis](http://redis.io/) 键值对存储器的缓存组件(需要 redis 2.6.12 及以上版本的支持 )。
`Yii::$app->cache` might be `null`. * [[yii\caching\WinCache]]: 使用 PHP [WinCache](http://iis.net/downloads/microsoft/wincache-extension)
* [[yii\caching\FileCache]]: uses standard files to store cached data. This is particular suitable ([另可参考](http://php.net/manual/en/book.wincache.php)) 扩展.
to cache large chunk of data, such as page content. * [[yii\caching\XCache]]: 使用 PHP [XCache](http://xcache.lighttpd.net/) 扩展。
* [[yii\caching\MemCache]]: uses PHP [memcache](http://php.net/manual/en/book.memcache.php) * [[yii\caching\ZendDataCache]]: 使用
and [memcached](http://php.net/manual/en/book.memcached.php) extensions. This option can be considered as
the fastest one when dealing with cache in a distributed applications (e.g. with several servers, load
balancers, etc.)
* [[yii\redis\Cache]]: implements a cache component based on [Redis](http://redis.io/) key-value store
(redis version 2.6.12 or higher is required).
* [[yii\caching\WinCache]]: uses PHP [WinCache](http://iis.net/downloads/microsoft/wincache-extension)
([see also](http://php.net/manual/en/book.wincache.php)) extension.
* [[yii\caching\XCache]]: uses PHP [XCache](http://xcache.lighttpd.net/) extension.
* [[yii\caching\ZendDataCache]]: uses
[Zend Data Cache](http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm) [Zend Data Cache](http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm)
as the underlying caching medium. 作为底层缓存介质。
> Tip: You may use different cache storage in the same application. A common strategy is to use memory-based > Tip: 你可以在同一个应用程序中使用不同的缓存存储器。一个常见的策略是使用基于内存的缓存存储器存储小而常用的数据(例如:统计数据),使用基于文件或数据库的缓存存储器存储大而不太常用的数据(例如:网页内容)。
cache storage to store data that is small but constantly used (e.g. statistical data), and use file-based
or database-based cache storage to store data that is big and less frequently used (e.g. page content).
## Cache APIs <a name="cache-apis"></a> ## Cache APIs <a name="cache-apis"></a>
......
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