Home Backend Development PHP Tutorial 1. Full page static caching

1. Full page static caching

Jul 29, 2016 am 09:15 AM
cache max memcache php

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>
Copy after login

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>
Copy after login

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>
Copy after login

9. Opcode cache

We know that the execution process of php can be shown in the figure below:
1. Full page static caching
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.

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

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

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

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

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

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

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

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,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

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

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

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

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

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 PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

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.

See all articles