php—Smarty-cache 1 (25), phpsmarty-cache 25_PHP tutorial
php—Smarty-cache 1 (25), phpsmarty-cache 25
1. Caching principle:
IE: Save resource files locally
Smarty: Save cache to server
Compile < Cache < Static
2. Why use caching technology
1. Improve website access speed
2. Reduce the pressure on the web server
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) and can be adjusted appropriately
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, it is strongly recommended 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:
Compiled 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 a cached file
Practical application:
5. Clear cache
For example, in a mall system, the price of this product is 1000.00. 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 file of a template
l $smarty->clearAllCache()
Clear cache files for 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).

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
