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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
5584b834
Commit
5584b834
authored
Jun 26, 2014
by
riverlet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
encoding = =||
parent
48fe9010
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
16 deletions
+16
-16
caching-data.md
docs/guide-zh-CN/caching-data.md
+16
-16
No files found.
docs/guide-zh-CN/caching-data.md
View file @
5584b834
数据缓存
数据缓存
============
数据缓存是指将一些 PHP 变量存储到缓存中,使用时再从缓存中取回。
它也是更高级缓存特性的基础,例如
[
查询缓存
](
#query-caching
)
和
[
内容缓存
](
caching-content.md
)
.
数据缓存是指将一些 PHP 变量存储到缓存中,使用时再从缓存中取回。
它也是更高级缓存特性的基础,例如
[
查询缓存
](
#query-caching
)
和
[
内容缓存
](
caching-c
ontent.md
)
.
如下代码是一个典型的数据缓存使用模式。其中
`$cache`
代表一个
[
缓存组件
](
#cache-components
)
:
如下代码是一个典型的数据缓存使用模式。其中
`$cache`
代表一个
[
缓存组件
](
#cache-comp
onents
)
:
```
php
//
尝试从缓存中取出
$data
//
尝试从缓存中取出 $da
ta
$data
=
$cache
->
get
(
$key
);
if
(
$data
===
false
)
{
// $data
在缓存中没有找到,则重新计算它的值
// $data
在缓存中没有找到,则重新计算它的值
//
将 $data 存放到缓存供下次使用
//
将 $data 存放到缓存供下次使用
$cache
->
set
(
$key
,
$data
);
}
//
这儿 $data 可以使用了。
//
这儿 $data 可以使用了。
```
##
缓存组件
<a name="cache-components"></a>
##
缓存组件 <
a name="cache-components"></a>
数据缓存需要称作“
*缓存组件*
”的东西提供支持,它代表着各种缓存存储介质,例如内存,文件,数据库。
数据缓存需要称作“
*缓存组件*
”的东西提供支持,它代表着各种缓存存储介质,例如内存,文件,数据库。
缓存组件通常注册为应用程序组件,这样它们就可以接受全局性配置和调用。如下代码演示了如何配置
`cache`
应用程序组件使用两个
[
memcached
](
http://memcached.org/
)
服务器
:
缓存组件通常注册为应用程序组件,这样它们就可以接受全局性配置和调用。如下代码演示了如何配置
`cache`
应用程序组件使用两个
[
memcached
](
http://memcached.org/
)
服务器:
```
php
'components'
=>
[
...
...
@@ -49,10 +49,10 @@ if ($data === false) {
],
```
然后你就可以通过
`Yii::$app->cache`
访问上面的缓存组件了。
然后你就可以通过
`Yii::$app->cache`
访问上面的缓存组件了。
由于所有缓存组件都支持同样的一系列 API ,你并不需要修改使用缓存的那些代码就能直接替换为其他低层缓存组件,
只需在应用程序配置中重新配置一下就可以。例如,你可以将上述配置修改为使用
[
[yii\caching\ApcCache|APC cache
]
]:
由于所有缓存组件都支持同样的一系列 API ,你并不需要修改使用缓存的那些代码就能直接替换为其他低层缓存组件,
只需在应用程序配置中重新配置一下就可以。例如,你可以将上述配置修改为使用
[
[yii\caching\Ap
cCache|APC cache
]
]:
```php
...
...
@@ -63,7 +63,7 @@ if ($data === false) {
],
```
> Tip:
你可以注册多个缓存组件,很多依赖缓存的类默认调用名为 `cache` 的组件(例如 [[yii\web\UrlManager]])。
> Tip:
你可以注册多个缓存组件,很多依赖缓存的类默认调用名为 `cache` 的组件(例如 [[yii\web\UrlManager]])。
### Supported Cache Storage <a name="supported-cache-storage"></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