Home  >  Article  >  Backend Development  >  How to use eAccelerator to speed up PHP code_PHP Tutorial

How to use eAccelerator to speed up PHP code_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:54:59863browse

eAccelerator is really a good thing (its predecessor is truck-mmcache).

Simply speaking, it is a caching system that operates with PHP (supports PHP5), exchanging data through shared memory or disk files.

It is widely used to "encode" PHP source code (less appropriately called "encryption") and cache the intermediate code executed by PHP to speed up. There are many and detailed articles about the installation and use of eA. What I would like to recommend this time is to use it to assist in program design caching. It provides a set of APIs as follows:

is a very convenient and stable The local cache implementation method. At present, this part of the design seems to only support shared memory, so it can only be used for Unix-Like OS. Windows is not so lucky.

1. eaccelerator_put($key, $value, $ttl=0)
Store $value into the cache with $key as the key name (object type is supported under php4. Looking at the source code, it seems that it is not available in zend2 Supported), $ttl is the life cycle of this cache, the unit is seconds, omitting this parameter or specifying it as 0 means no time limit, until the server is restarted and cleared.

2. eaccelerator_get($key)
Returns the corresponding data stored in eaccelerator_put() from the cache according to $key. If the cache has expired or does not exist, the return value is NULL

3. eaccelerator_rm($key)
Remove cache based on $key

4. eaccelerator_gc()
Remove and clean up all expired keys

5. eaccelerator_lock ($key)
Add a locking operation to $key to ensure data synchronization during multi-process and multi-thread operations. You need to call eaccelerator_unlock($key) to release the lock or wait for the program to automatically release the lock when the request ends.
For example:
eaccelerator_lock("count");
eaccelerator_put("count",eaccelerator_get("count")+1));
?>

6. eaccelerator_unlock($key)
Release the lock based on $key

7. eaccelerator_cache_output($key, $eval_code, $ttl=0)
Cache the output of the $eval_code code $ttl seconds, (the $ttl parameter is the same as eacclerator_put)
For Example:


8. eaccelerator_cache_result($key, $eval_code, $ttl=0)
Cache the execution result of $eval_code code for $ttl seconds, ($ttl parameter is the same as eacclerator_put), similar to cache_output
For Example:


9. eaccelerator_cache_page($key, $ttl=0)
Cache the current entire page for $ttl seconds.
For Example:
eaccelerator_cache_page($_SERVER['PHP_SELF'].'?GET='.serialize($_GET),30);
echo time();
phpinfo();
?>

10. eaccelerator_rm_page($key)
Delete the cache executed by eaccelerator_cache_page(), the parameter is also $key

______________________________________________
(A simple example to see its power, please note that it may not work in cli mode!)


/n"; } function func() { echo ', the world!'; } function now($t) { echo date('Y-m-d H:i:s', $t); }}$tt = eaccelerator_get("test_tt");if (!$tt){ $tt = new test_cache; eaccelerator_put("test_tt", $tt); echo "no cached!
/n";}else { echo "cached
/n";}echo $tt->pro; $tt->func();$tt->now(time() + 86400);?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/318406.htmlTechArticleeAccelerator is really a good thing (its predecessor is truck-mmcache). Simply put, it is a caching system that works with PHP (supports PHP5), through shared memory or disk files...
Statement:
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