Summary of 9 large cache technologies in PHP

Source: Internet
Author: User
Tags apc php server

Summary of 9 large cache technologies in PHP

PHP is our most commonly used in the program, recently read a "PHP" book in-depth introduction PHP Training Tutorials 9 Large Cache Technology Summary , here to share with you.

1. Full page static cache

That is, the page is all generated HTML static page, the user accesses the static page directly, but not to go to the PHP server parsing process. This way, in the CMS system is more common, such as dedecms,phpcms;

A more common way to implement this is with output caching:

Ob_start ();

The code to run *******

$content = Ob_get_contents ();

Write cached content to HTML file * * * *

Ob_end_clean ();

2. Page Partial cache

In this way, the infrequently changed parts of a page are statically cached, and the frequently changing blocks are not cached, assembled and displayed together, can be implemented in a way similar to ob_get_contents, or can take advantage of page fragment caching policies like ESI, The cache used to make a relatively static fragment portion of a dynamic page (ESI technology, please Baidu, here is an unknown).

This method can be used for product pages such as the mall;

3. Data cache

as the name implies, is a way to cache data, for example, a product information in the mall, when the product ID to request, will be included in the store information, merchandise information and other data, this can be cached in a PHP file, the file name contains the product ID to build a unique mark The next time someone wants to view this product, the first thing is to direct the information inside the file, instead of going to the database query; in fact, the cache file cache is a PHP training array and so on;

Ecmall Mall system inside the use of this way;

4. Query cache

In fact, this with the data cache is a way of thinking, is based on query statements to cache, the query to get the data cached in a file, the next time you encounter the same query, directly from the file to adjust the data, will not check the database, but the cache file name here may need to use a query statement as the base point to establish a unique;

Cache by Time Change

In fact, this is not a true caching method, the above 2, 3, 4 of the cache technology is generally used in the time to change the judgment, that is, for the cache file you need to set a valid time, in this effective time, the same access will first take the contents of the cache file, but more than the set cache time, You need to re-fetch the data from the database and produce the latest cache files; For example, I will be the first page of our mall is set up 2 hours to update;

5. Cache by content Change

This is not an independent caching technology, need to be combined with, that is, when the database content is modified, immediately update the cache file;

For example, a large number of shopping malls, a lot of goods, commodity tables must be relatively large, the pressure of the table is also heavier; we can cache the product display page;

When the merchant changes the information of this product in the background, click Save, we update the cache file at the same time, then, when the buyer accesses this product information, it actually accesses a static page, and does not need to visit the database again;

Imagine, if the product page does not cache, then each visit to a commodity will go to the database to check once, if there are 100,000 people online browsing products, the server pressure is big;

6. In-Memory cache

The first thing you can think of is that memcached;memcached is a high-performance distributed memory cache server. The general purpose is to reduce the number of database accesses by caching database query results to improve the speed and scalability of dynamic Web applications.

It is to cache the information that needs to be cached in the system memory, need to obtain information, directly into the memory, the more common way is key–>value way;

The Memcache in window uses the installation.

Linux PHP memcache Extended installation (do not recompile PHP)

<?php

$memcachehost = ' 192.168.6.191 ';

$memcacheport = 11211;

$memcachelife = 60;

$memcache = new Memcache;

$memcache->connect ($memcachehost, $memcacheport) or Die ("Could not Connect");

$memcache->set (' key ', ' cached content ');

$get = $memcache->get ($key); Get information

?>

7. Apache Cache Module

After the installation of Apache, the cache is not allowed. If you have a cache or squid server that requires web acceleration, you need to set it up in htttpd.conf, as long as you activate the Mod_cache module when you install Apache.

When installing Apache:./configure–enable-cache–enable-disk-cache–enable-mem-cache

8. PHP APC Cache extension

PHP has an APC cache extension, Windows is php_apc.dll, you need to load the module first, and then configure it in php.ini:

[APC]

Extension=php_apc.dll

apc.rfc1867 = On

Upload_max_filesize = 100M

Post_max_size = 100M

Apc.max_file_size = 200M

Upload_max_filesize = 1000M

Post_max_size = 1000M

Max_execution_time = 600; Maximum time value per php page (seconds), default 30 seconds

Max_input_time = 600; The maximum time required for each PHP page to receive data, by default 60

Memory_limit = 128M; The maximum memory eaten by each PHP page, default 8M.

9. OpCode Cache

First, the PHP code is parsed into tokens, and then compiled into opcode code, and finally execute opcode code, return the results; So, for the same PHP file, the first time the runtime can cache its opcode code, the next time you execute this page, will go to find the cache opcode code , take the final step directly, without needing the intermediate steps.

More well-known is XCache, Turck MM Cache, PHP accelerator, etc.

Anyway, this article is meant to share some useful information for people who are learning PHP . You have a better way to compare the techniques that this article shares. You can leave your point of view and share your experience:http://www.lampbrother.net


Summary of 9 large cache technologies in PHP

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.