eAccelerator is really a good thing (its predecessor is truck-mmcache). It is a caching system that works with PHP (supports PHP5) and exchanges 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 of PHP execution 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 and caching. It provides a set of APIs as follows: It is a very convenient and stable native cache implementation. At present, this part of the design seems to only support shared memory, so it can only be used in 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, but it seems that it is not supported in zend2 from the source code). $ttl is the life cycle of this cache, in seconds. Omit this parameter or specify it as 0 Indicates no time limit until the server is restarted and cleared. 2. eaccelerator_get($key) Return the data stored in the corresponding 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 clear all expired keys 5. eaccelerator_lock($key) Add a lock operation to $key to ensure data synchronization during multi-process and multi-thread operations. You need to call eaccelerator_unlock($key) to release this lock or wait for the program request to automatically release this lock. For example: ? & Lt;? Php Eaccelerator_lock ("Count"); Eaccelerator_put ("Count", Eaccelerator_get ("Count")); 8. eaccelerator_cache_result($key, $ eval_code, $ttl=0)
Cache the execution result of the $eval_code code for $ttl seconds, (the $ttl parameter is the same as eacclerator_put), similar to cache_output
For Example:
? .eaccelerator_unlock($key)
Release lock based on $key
7. eaccelerator_cache_output($key, $eval_code, $ttl=0)
Cache the output of the $eval_code code for $ttl seconds (the $ttl parameter is the same as eacclerator_put)
For Example:
Copy code
n"; } echo ', the world!'; } function now($t) {
echo date('Y-m-d H:i:s', $t);
|