Friends who are tossing VPS, after installing LNMP and other web operating environments, will choose to install some cache extensions to improve the running speed of PHP. The cache extensions that are often introduced include eAccelerator, memcached, xcache, and Alternative PHP Cache. What are the differences between them? What are their functions? How do we choose? This is the answer given in this article.
1. eAccelerator
eAccelerator is a free and open source PHP accelerator, optimized and dynamic content caching, improved The caching performance of PHP scripts almost completely eliminates the overhead on the server when PHP scripts are compiled. It also optimizes scripts to speed up their execution efficiency. Improve PHP program code execution efficiency by 1-10 times. It can be understood from the text: eAccelerator is a PHP accelerator extension.
2. memcached
Memcached is a high-performance distributed memory object caching system for dynamic Web Applied to reduce database load. It delivers the speed of dynamic, database-driven websites by caching data and objects in memory to reduce the number of database reads. From the text, it can be understood as: memory cache extension, and it is mostly used for cluster servers. It is mainly used for distributed cache and is regarded as database cache.
3. Alternative PHP Cache (APC cache)
Alternative PHP Cache (APC cache) is a An effective open source cache tool for PHP that can cache the PHP intermediate code of Opcode (object file). APC's cache is divided into two parts: system cache and user data cache. The system cache is used automatically. It means that APC caches the compilation results of the PHP file source code, and then compares the time stamp when calling again. If not expired, the cached code is used to run. The default cache is 3600s (one hour). However, this still wastes a lot of CPU time. Therefore, you can set the system cache in php.ini to never expire (apc.ttl=0). However, if it is set like this, it will be required after running the PHP code. Restart your web server (such as apache...). The current performance test of APC generally refers to this layer of cache; from the literal meaning: Alternative PHP Cache (APC cache) can also be regarded as a memory cache extension, which can be regarded as a database Cache extension.
4. Xcache
is an open source opcode cache/optimizer, which can improve the PHP performance, it avoids repeated compilation processes by buffering compiled PHP data into shared memory, and can directly use the buffered compiled code to improve speed. It can usually increase your page generation rate by 2 to 5 times, and reduce the server load. In fact, it is a PHP accelerator extension like eAccelerator.
The above are their functions and differences. To put it simply: eAccelerator and xcache are PHP cache extensions, memcached and APC cache are database cache extensions. Generally, only one of them needs to be installed. But don’t be greedy for too much. In addition, actual testing found that when the number of caches exceeds a certain threshold, APC's performance is not as good as Memcache. So when it comes to the choice of extensions, I usually choose the xcache memcached combination.
Recommended learning: "
PHP Video TutorialThe above is the detailed content of Analyze the differences and functions of four commonly used cache extensions in PHP. For more information, please follow other related articles on the PHP Chinese website!