Home  >  Article  >  Backend Development  >  Yii Framework Official Guide Series 28 - Caching: Overview

Yii Framework Official Guide Series 28 - Caching: Overview

黄舟
黄舟Original
2017-02-15 09:13:541087browse



Caching is a simple and effective way to improve the performance of web applications. By storing relatively static data in the cache and retrieving it when a request is received, we save the time required to generate this data.

Using cache in Yii mainly involves configuring and accessing an application component. The following application configuration sets up a cache component that uses two memcache cache servers.


##

array(
    ......
    'components'=>array(
        ......
        'cache'=>array(
            'class'=>'system.caching.CMemCache',
            'servers'=>array(
                array('host'=>'server1', 'port'=>11211, 'weight'=>60),
                array('host'=>'server2', 'port'=>11211, 'weight'=>40),
            ),
        ),
    ),
);

When the application is running, the cache component can be accessed through

Yii::app()->cache Visit.

Yii provides different caching components that can store cached data in different media. For example, the CMemCache component encapsulates PHP's memcache extension and uses memory as the cache storage medium. The CApcCache component encapsulates the PHP APC extension; and the CDbCache component stores cached data in the database. The following is a list of available caching components:

  • CMemCache: Uses the PHP memcache extension.

  • CApcCache: Uses the PHP APC extension.

  • CXCache: Use PHP XCache extension. Note that this is supported starting from version 1.0.1.

  • CEAcceleratorCache: Use PHP EAccelerator extension.

  • CDbCache: Use a data table to store cache data. By default, it will create and use a SQLite3 database in the runtime directory. You can also specify a database for it to use by setting its connectionID property.

  • CZendDataCache: Use Zend Data Cache as the backend caching medium. Note that this is supported starting from version 1.0.4.

  • CFileCache: Use files to store cache data. This is particularly useful for storing large chunks of data (such as pages). Note that this is supported starting from version 1.0.6.

  • CDummyCache: Currently dummy cache does not implement caching function. The purpose of this component is to simplify code that needs to check cache availability. For example, we can use this caching component during the development phase or when the server does not yet support actual caching functionality. When actual caching support is enabled, we can switch to using the corresponding caching component. In both cases, we can use the same code

    Yii::app()->cache->get($key) to get the data fragment without worrying about Yii:: app()->cache may be null. This component is supported since version 1.0.5.

Tips: Since all these cache components inherit from the same base class CCache, you can switch to it without changing the code that uses the cache. Use another caching method.

Caching can be used at different levels. At the lowest level, we use caches to store individual pieces of data, such as variables. We call this

data caching. At the next level, we store in the cache a page fragment generated as part of the view script. And in the highest level, we store the entire page in cache and retrieve it when needed.

In the next few sections, we will explain in detail how to use caching at these levels.

Note: By definition, cache is an unstable storage medium. Even if there is no timeout, it does not ensure that the cached data will exist. Therefore, do not use cache as persistent storage. (For example, do not use cache to store Session data).

Cache series articles:

Yii Framework Official Guide Series 29 - Cache: Data Cache

Yii Framework Official Guide Series 30 - Cache: Fragment Caching ( Fragment Caching)

Yii Framework Official Guide Series 31 - Caching: Page Caching

Yii Framework Official Guide Series 32 - Caching: Dynamic Content (Dynamic Content)

and above This is the content of Yii Framework Official Guide Series 28 - Caching: Overview. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn