The efficacy and function of money grass and how to eat it. How to convert file cache to memory cache in PHP

WBOY
Release: 2016-07-29 08:47:24
Original
1330 people have browsed it

Foreword
As the name suggests, converting file cache to memory cache is to transfer the data stored in the file to the memory and realize the conversion of disk operations into memory operations. This can greatly improve the data access speed and enable distributed deployment of cached 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 frequent loading of files and data. The Memcache tool is used to implement memory cache data.
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 into the memory
4. Get the data from the memory, register the data as a global variable
5, and return the data
There are two main problems to deal with in this process. The first problem is the loading of the cache file. If you want to convert the file cache to the memory cache, you need to have A unified file cache path scheduling service, used to implement 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 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');
The getCachePath() function in the above example implements file cache path scheduling service .
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;
}


Advantage: In the case of duplicate keys, the latest value can be guaranteed to be normal
Disadvantages: The size of the $vars array determines the execution time
2, append directly
$GLOBALS += $vars;
Advantages: no loop, direct operation
Disadvantages: cannot write if the key exists
Summary
File cache to memory cache The most important thing is to deal with the file loading method and global variable registration. In the actual application process, special attention should be paid to the difference in variable names in each cache file. If the variable names are the same, data may be overwritten during the loading process of multiple files.
In specific development practice, if you can use the memory cache, 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 you obtain the data, you do not need to obtain it from the database but directly from the file. This can improve the access speed of the data, so in 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.

The above introduces the efficacy and function of money grass and how to eat it. The method of transferring file cache to memory cache in PHP, including the efficacy and function of money grass and how to eat it. I hope it will be helpful to friends who are interested in PHP tutorials.

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