Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Rotua Panjaitan
yii2
Commits
3e94f542
Commit
3e94f542
authored
Aug 01, 2014
by
AbrahamGreyson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
symbol modified.
parent
720441f9
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
23 deletions
+22
-23
caching-data.md
docs/guide-zh-CN/caching-data.md
+22
-23
No files found.
docs/guide-zh-CN/caching-data.md
View file @
3e94f542
...
...
@@ -67,15 +67,15 @@ if ($data === false) {
Yii 支持一系列缓存存储器,概况如下:
*
[
[yii\caching\ApcCache
]
]
:
使用 PHP
[
APC
](
http://php.net/manual/en/book.apc.php
)
扩展。这个选项可以认为是集中式应用程序环境中(例如:单一服务器,没有独立的负载均衡器等)最快的缓存方案。
*
[
[yii\caching\DbCache
]
]
:
使用一个数据库的表存储缓存数据。要使用这个缓存,你必须创建一个与
[
[yii\caching\DbCache::cacheTable
]
] 对应的表。
*
[
[yii\caching\ApcCache
]
]
:
使用 PHP
[
APC
](
http://php.net/manual/en/book.apc.php
)
扩展。这个选项可以认为是集中式应用程序环境中(例如:单一服务器,没有独立的负载均衡器等)最快的缓存方案。
*
[
[yii\caching\DbCache
]
]
:
使用一个数据库的表存储缓存数据。要使用这个缓存,你必须创建一个与
[
[yii\caching\DbCache::cacheTable
]
] 对应的表。
*
[
[yii\caching\DummyCache
]
]: 仅作为一个缓存占位符,不实现任何真正的缓存功能。这个组件的目的是为了简化那些需要查询缓存有效性的代码。例如,在开发中如果服务器没有实际的缓存支持,用它配置一个缓存组件。一个真正的缓存服务启用后,可以再切换为使用相应的缓存组件。两种条件下你都可以使用同样的代码
`Yii::$app->cache->get($key)`
尝试从缓存中取回数据而不用担心
`Yii::$app->cache`
可能是
`null`
。
*
[
[yii\caching\FileCache
]
]
:
使用标准文件存储缓存数据。这个特别适用于缓存大块数据,例如一个整页的内容。
*
[
[yii\caching\MemCache
]
]
:
使用 PHP
[
memcache
](
http://php.net/manual/en/book.memcache.php
)
和
[
memcached
](
http://php.net/manual/en/book.memcached.php
)
扩展。这个选项被看作分布式应用环境中(例如:多台服务器,有负载均衡等)最快的缓存方案。
*
[
[yii\redis\Cache
]
]
:
实现了一个基于
[
Redis
](
http://redis.io/
)
键值对存储器的缓存组件(需要 redis 2.6.12 及以上版本的支持 )。
*
[
[yii\caching\WinCache
]
]
:
使用 PHP
[
WinCache
](
http://iis.net/downloads/microsoft/wincache-extension
)
(
[
另可参考
](
http://php.net/manual/en/book.wincache.php
)
)扩展.
*
[
[yii\caching\XCache
]
]
:
使用 PHP
[
XCache
](
http://xcache.lighttpd.net/
)
扩展。
*
[
[yii\caching\ZendDataCache
]
]
:
使用
[
Zend Data Cache
](
http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm
)
作为底层缓存媒介。
*
[
[yii\caching\FileCache
]
]
:
使用标准文件存储缓存数据。这个特别适用于缓存大块数据,例如一个整页的内容。
*
[
[yii\caching\MemCache
]
]
:
使用 PHP
[
memcache
](
http://php.net/manual/en/book.memcache.php
)
和
[
memcached
](
http://php.net/manual/en/book.memcached.php
)
扩展。这个选项被看作分布式应用环境中(例如:多台服务器,有负载均衡等)最快的缓存方案。
*
[
[yii\redis\Cache
]
]
:
实现了一个基于
[
Redis
](
http://redis.io/
)
键值对存储器的缓存组件(需要 redis 2.6.12 及以上版本的支持 )。
*
[
[yii\caching\WinCache
]
]
:
使用 PHP
[
WinCache
](
http://iis.net/downloads/microsoft/wincache-extension
)
(
[
另可参考
](
http://php.net/manual/en/book.wincache.php
)
)扩展.
*
[
[yii\caching\XCache
]
]
:
使用 PHP
[
XCache
](
http://xcache.lighttpd.net/
)
扩展。
*
[
[yii\caching\ZendDataCache
]
]
:
使用
[
Zend Data Cache
](
http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm
)
作为底层缓存媒介。
> Tip: 你可以在同一个应用程序中使用不同的缓存存储器。一个常见的策略是使用基于内存的缓存存储器存储小而常用的数据(例如:统计数据),使用基于文件或数据库的缓存存储器存储大而不太常用的数据(例如:网页内容)。
...
...
@@ -85,15 +85,15 @@ Yii 支持一系列缓存存储器,概况如下:
所有缓存组件都有同样的基类
[
[yii\caching\Cache
]
] ,因此都支持如下 API:
*
[
[yii\caching\Cache::get()|get()
]
]
:
通过一个指定的键(key)从缓存中取回一项数据。如果该项数据不存在于缓存中或者已经过期/失效,则返回值 false。
*
[
[yii\caching\Cache::set()|set()
]
]
:
将一项数据指定一个键,存放到缓存中。
*
[
[yii\caching\Cache::add()|add()
]
]
:
如果缓存中未找到该键,则将指定数据存放到缓存中。
*
[
[yii\caching\Cache::mget()|mget()
]
]
:
通过指定的多个键从缓存中取回多项数据。
*
[
[yii\caching\Cache::mset()|mset()
]
]
:
将多项数据存储到缓存中,每项数据对应一个键。
*
[
[yii\caching\Cache::madd()|madd()
]
]
:
将多项数据存储到缓存中,每项数据对应一个键。如果某个键已经存在于缓存中,则该项数据会被跳过。
*
[
[yii\caching\Cache::exists()|exists()
]
]
:
返回一个值,指明某个键是否存在于缓存中。
*
[
[yii\caching\Cache::delete()|delete()
]
]
:
通过一个键,删除缓存中对应的值。
*
[
[yii\caching\Cache::flush()|flush()
]
]
:
删除缓存中的所有数据。
*
[
[yii\caching\Cache::get()|get()
]
]
:
通过一个指定的键(key)从缓存中取回一项数据。如果该项数据不存在于缓存中或者已经过期/失效,则返回值 false。
*
[
[yii\caching\Cache::set()|set()
]
]
:
将一项数据指定一个键,存放到缓存中。
*
[
[yii\caching\Cache::add()|add()
]
]
:
如果缓存中未找到该键,则将指定数据存放到缓存中。
*
[
[yii\caching\Cache::mget()|mget()
]
]
:
通过指定的多个键从缓存中取回多项数据。
*
[
[yii\caching\Cache::mset()|mset()
]
]
:
将多项数据存储到缓存中,每项数据对应一个键。
*
[
[yii\caching\Cache::madd()|madd()
]
]
:
将多项数据存储到缓存中,每项数据对应一个键。如果某个键已经存在于缓存中,则该项数据会被跳过。
*
[
[yii\caching\Cache::exists()|exists()
]
]
:
返回一个值,指明某个键是否存在于缓存中。
*
[
[yii\caching\Cache::delete()|delete()
]
]
:
通过一个键,删除缓存中对应的值。
*
[
[yii\caching\Cache::flush()|flush()
]
]
:
删除缓存中的所有数据。
有些缓存存储器如 MemCache,APC 支持以批量模式取回缓存值,这样可以节省取回缓存数据的开支。
[
[yii\caching\Cache::mget()|mget()
]
] 和
[
[yii\caching\Cache::madd()|madd()
]
] API提供对该特性的支持。如果底层缓存存储器不支持该特性,Yii 也会模拟实现。
...
...
@@ -177,12 +177,11 @@ $data = $cache->get($key);
下面是可用的缓存依赖的概况:
-
[
[yii\caching\ChainedDependency
]
]: 如果依赖链上任何一个依赖产生变化,则依赖改变。
-
[
[yii\caching\DbDependency
]
]: 如果指定 SQL 语句的查询结果发生了变化,则依赖改变。
-
[
[yii\caching\ExpressionDependency
]
]: 如果指定的 PHP 表达式执行结果发生变化,则依赖改变。
-
[
[yii\caching\FileDependency
]
]: 如果文件的最后修改时间发生变化,则依赖改变。
-
[
[yii\caching\TagDependency
]
]: 为一项缓存数据添加一个或多个标签。你可以通过调用
[
[yii\caching\TagDependency::invalidate()
]
]
一次性将具有指定标签的缓存数据全部置为失效状态。
-
[
[yii\caching\ChainedDependency
]
]:如果依赖链上任何一个依赖产生变化,则依赖改变。
-
[
[yii\caching\DbDependency
]
]:如果指定 SQL 语句的查询结果发生了变化,则依赖改变。
-
[
[yii\caching\ExpressionDependency
]
]:如果指定的 PHP 表达式执行结果发生变化,则依赖改变。
-
[
[yii\caching\FileDependency
]
]:如果文件的最后修改时间发生变化,则依赖改变。
-
[
[yii\caching\GroupDependency
]
]:将一项缓存数据标记到一个组名,你可以通过调用
[
[yii\caching\GroupDependency::invalidate()
]
] 一次性将相同组名的缓存全部置为失效状态。
## 查询缓存 <a name="query-caching"></a>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment