1. Full page static caching
1. Full-page static caching
means that all pages are generated into html static pages. The static pages are directly accessed when users visit, without going through the PHP server parsing process. This method is more common in CMS systems, such as dedecms;
A more common implementation method is to use output caching:
<code><span>Ob_start<span>()<span><span>******要运行的代码*******<span>$content <span>=<span><span>Ob_get_contents<span>();<span><span>****将缓存内容写入<span>html<span>文件*****<span><span>Ob_end_clean<span>();</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
2. Page partial caching
This method is to cache infrequently changed pages on a page. The parts are statically cached, while frequently changing blocks are not cached and are finally assembled together for display; this can be achieved using a method similar to ob_get_contents, or a page fragment caching strategy such as ESI can be used to make it available in dynamic pages. Caching of relatively static fragment parts (ESI technology, please Baidu, not detailed here).
This method can be used for example, on product pages in the mall;
3. Data caching
As the name suggests, it is a way of caching data; for example, when requesting a certain product information in the mall using the product id , you will get data including store information, product information, etc. At this time, you can cache these data into a php file. The file name contains the product id to create a unique identifier; the next time someone wants to view this product, first Directly adjust the information in this file without querying the database; in fact, what is cached in the cache file is a php array or the like;
This method is used in the Ecmall mall system;
4. Query cache
In fact This is the same idea as data caching, which is to cache according to the query statement; cache the data obtained by the query in a file. When the same query is encountered next time, the data will be directly retrieved from this file without checking again. Database; but the cache file name here may need to be based on the query statement to establish a unique identifier;
Caching based on time changes
Actually, this is not a real caching method; the caching of 2, 3, and 4 above Technology generally uses time change judgment; that is, you need to set a valid time for cached files. Within this valid time, the same access will first fetch the contents of the cached file. However, if the set cache time is exceeded, you need to retrieve the content from the database again. Obtain data from it and produce the latest cache file; for example, I set the homepage of our mall to be updated every 2 hours;
5. Cache according to content changes
This is not an independent caching technology and needs to be used in combination; That is, when the database content is modified, the cache file is updated immediately;
For example, if a person traffic is a mall with a lot of products, the product table must be relatively large, and the pressure on this table is relatively heavy; we can display the product page Carry out page caching;
When the merchant modifies the product information in the background, click Save, and we will update the cache file at the same time; then, when the buyer accesses the product information, he actually accesses a static page without the need to Go to Access the database;
Just imagine, if the product page is not cached, then every time you access a product, you have to go to the database to check it. If 100,000 people browse the product online, the pressure on the server will be great;
6. In-memory caching
When it comes to this, the first thing you may think of is Memcached; Memcached is a high-performance distributed memory cache server. The general purpose of use is to reduce the number of database accesses by caching database query results to improve the speed and scalability of dynamic web applications.
It caches the information that needs to be cached into the system memory. When the information needs to be obtained, it is fetched directly from the memory; the more commonly used method is the key–>value method;
<code><span><span>php $memcachehost <span>=<span><span>'192.168.6.191'<span>;<span> $memcacheport <span>=<span><span>11211<span>;<span> $memcachelife <span>=<span><span>60<span>;<span> $memcache <span>=<span><span>new<span><span>Memcache<span>;<span> $memcache<span>-><span>connect<span>(<span>$memcachehost<span>,<span>$memcacheport<span>)<span><span>or<span><span>die<span><span>(<span>"Could not connect"<span>);<span> $memcache<span>-><span>set<span>(<span>'key'<span>,<span>'缓存的内容'<span>);<span> $get <span>=<span> $memcache<span>-><span>get<span>(<span>$key<span>);<span><span>//获取信息<span><span>?></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
7. apache cache module
apache After installation, it is not allowed to be cached. If an external cache or squid server requires web acceleration, it needs to be set in httpd.conf. Of course, the premise is that the mod_cache module must be activated when installing apache.
When installing apache: ./configure –enable-cache –enable-disk-cache –enable-mem-cache
8, php APC cache extension
Php has an APC cache extension, which is php_apc.dll under windows, which is required First load this module, and then configure it in php.ini:
<code><span>[<span>apc<span>]<span> extension<span>=<span>php_apc<span>.<span>dll apc<span>.<span>rfc1867 <span>=<span> on upload_max_filesize <span>=<span><span>100M<span> post_max_size <span>=<span><span>100M<span> apc<span>.<span>max_file_size <span>=<span><span>200M<span> upload_max_filesize <span>=<span><span>1000M<span> post_max_size <span>=<span><span>1000M<span> max_execution_time <span>=<span><span>600<span><span>;<span><span>每个<span>PHP<span>页面运行的最大时间值(秒),默认<span>30<span>秒<span> max_input_time <span>=<span><span>600<span><span>;<span><span>每个<span>PHP<span>页面接收数据所需的最大时间,默认<span>60<span> memory_limit <span>=<span><span>128M<span><span>;<span><span>每个<span>PHP<span>页面所吃掉的最大内存,默认<span>8M</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
9. Opcode cache
We know that the execution process of php can be shown in the figure below:
First the php code is parsed into Tokens, and then Then compile it into Opcode code, and finally execute the Opcode code and return the result; therefore, for the same php file, the Opcode code can be cached when running for the first time. The next time you execute this page, you will directly find the opcode code in the cache. , execute the last step directly, and no longer need the intermediate steps.
The more well-known ones are XCache, Turck MM Cache, PHP Accelerator, etc.
Almighty programmer communication QQ group 290551701, gathering many Internet elites, technical directors, architects, project managers! Open source technology research, industry insiders, experts and novices who are interested in working in the IT industry are welcome to join!
The above has introduced 1. Full-page static caching, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.

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

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

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

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

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

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.
