php-smarty-cache1(25)

WBOY
Release: 2016-08-08 09:24:38
Original
978 people have browsed it

1. Caching principle:

IE: Save resource files locally

Smarty: Save cache to server

Compilation                                                                                                                                                                           

2. Why use caching technology

1. Improve website access speed

2. Reduce web server pressure

3. Reduce the pressure on the database server

3. Set cache

1. In smarty, setting the cache is mainly through the following lines of code:

l $smarty->setCacheDir($cache_dir)

Set cache directory

Cache files generated in the future will be automatically placed in this directory

l $smarty->caching=true

Enable caching mechanism

As long as you use caching technology, the caching mechanism must be enabled before the display method is called (do not enable it to clear the cache)

l $smarty->cach_lifetime=3600

Set cache validity time (life cycle),

The default is 3600 seconds (one hour), you can make appropriate adjustments

2. Code part:

Program code:

Template code:

After running the above program, we found that two folders were automatically generated in the current directory:

Where templates_c and cache represent the compilation and cache directories respectively, and they are automatically created

However, we strongly recommend that you do not rely too much on the automatic creation function, because in some operating systems, there is no creation permission by default, so it is recommended that we create these two directories manually before running

3. Observe the differences between these two files:

Compile file:

Cache files:

Through observation, we found that in the compiled file, the value of the template variable is dynamically read through the PHP program each time

In the cache file, the values ​​of these two variables are written directly to the file

4. Caching refers to the caching of templates

We can try to create other php programs and let these programs display the above template again, and find that these programs will only directly run the cache files generated by the above programs

5. Working principle of Smarty cache:

6. Two related attributes

$smarty->compile_check

The default value is true, which means that every time it is executed, it will check whether the template has changed. If it changes, it will be read again and the compiled and cache files will be generated. However, after a project goes online, the template will basically not be changed or moved infrequently. It is judged that it will affect system performance every time. Therefore, after the project goes online, it is recommended that you turn off this option (set to false).

$smarty->force_compile

The default value is false, which means that every time it is executed, it will check whether the cache has expired. If it has not expired, the contents of the cache file will be used directly. However, when a project is developed, caching will affect the programmer's most direct judgment of the program and the observation of the latest data. It is recommended that you set this option to true, which means that the compiled and cache files will be regenerated each time it is run.

4. Check cache

$smarty->isCached("tpl.tpl")

Check if a template has cache files

Practical application:

5. Clear cache

For example, in a mall system, the price of this product is 1000.00, and now the mall has a discount of 30% off. If caching is used, the product price will still be the original price. At this time we need to delete the previous cache files.

l $smarty->clearCache("tpl.tpl")

Clear the cache files of a template

l $smarty->clearAllCache()

Clear cache files of all templates

If a product information changes, the cache file of the product needs to be regenerated

Generally, to modify data, you need to regenerate the cache file (the original cache file must be deleted).

The above has introduced php-Smarty-caching 1 (25), including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!