How to convert file cache to memory cache in PHP_PHP Tutorial

WBOY
Release: 2016-07-21 15:22:32
Original
1230 people have browsed it

Foreword
As the name suggests, file caching to memory caching is to transfer the data stored in the file to the memory to realize the conversion of disk operations into memory operations. This can greatly improve the data access speed and realize caching. Distributed deployment of data. For an introduction to file caching and memory caching, please refer to the Glossary section.

Principle
The principle of converting file cache to memory cache is to transfer the data in the file cache to the memory to achieve global sharing of data and solve the problem of frequently loading files and data. Question, use the Memcache tool to cache data in memory.

Implementation mechanism and steps
1. Check whether the file exists in the memory cache. If it does not exist, load the cache file.
2. Load the cache file and obtain the data in the cache file.
3. Write the data in the cache file to the memory
4. Get the data from the memory and register the data as a global variable
5. Return the data

This process is the most important To deal with two problems, the first problem is cache file loading. If you want to realize the conversion of file cache to memory cache, you need to have a unified file cache path scheduling service to realize whether the file implements the memory cache mechanism. The second question is how to register global variables. Whether data is obtained from a file or from memory, if it needs to be universal, there needs to be a mechanism to register global variables.

The problem of file cache path scheduling service is relatively simple to implement, but the cost is relatively high because the current file cache loading path method needs to be reconstructed.

Ordinary file cache loading method

require 'cache/config.php';

File cache path scheduling method

require getCachePath('cache/config.php');

In the above example, the getCachePath() function implements file cache path scheduling service.

The second is the issue of registering global variables. The global versatility of the data needs to be taken into consideration, so there are many precautions in use. After research, we found the following two ways to register global variables
1 , loop registration

Copy code The code is as follows:

foreach ( $vars as $k => $v ) {
$GLOBALS[$k] = $v;
}

Advantages: The latest value can be guaranteed to be normal in the case of duplicate keys
Disadvantages: $vars array The size determines the execution time

2, directly append

$GLOBALS += $vars;

Advantages: no loop, direct operation
Disadvantages : If the key exists, it cannot be written

Summary
The file cache to memory cache mainly deals with the file loading method and global variable registration. In the actual application process, special attention should be paid to The variable names in each cache file are different. If the variable names are the same, data may be overwritten during the loading process of multiple files.

In specific development practice, if the memory cache can be used, use the memory cache directly. At the same time, if there are a large number of file cache loads, consider implementing a mechanism to convert the file cache to the memory cache.


Explanation of terms
File caching refers to storing the data obtained from the database into a file, so that the next time the data is obtained, there is no need to obtain it from the database but directly Obtaining it from a file can improve the access speed of data, so the application of file caching can be seen in many open source program codes.

Memory caching refers to storing data obtained from the database into memory. Memcache is currently widely used.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324685.htmlTechArticlePreface As the name suggests, file cache to memory cache is to transfer the data stored in the file to the memory to implement disk operations. Convert to memory operation, which can greatly improve data access speed...
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