home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / technical < prev    next >
Encoding:
Text File  |  2004-03-24  |  1.3 KB  |  29 lines

  1. Technical choices for Cache_Lite...
  2. -----------------------------------
  3.  
  4. To begin, the main goals of Cache_Lite :
  5. - performances
  6. - safe use (even on very high traffic or with NFS (file locking doesn't work
  7.             with NFS))
  8. - flexibility (can be used by the end user or as a part of a larger script)
  9.  
  10.  
  11. For speed reasons, it has been decided to focus on the file container (the 
  12. faster one). So, cache is only stored in files. The class is optimized for that. 
  13. If you want to use a different cache container, have a look to PEAR/Cache.
  14.  
  15. For speed reasons too, the class 'Cache_Lite' has do be independant (so no 
  16. 'require_once' at all in 'Cache_Lite.php'). But, a conditional include_once
  17. is allowed. For example, when an error is detected, the class include dynamicaly
  18. the PEAR base class 'PEAR.php' to be able to use PEAR::raiseError(). But, in
  19. most cases, PEAR.php isn't included.
  20.  
  21. For the second goal (safe use), there is three (optional) mecanisms :
  22. - File Locking : seems to work fine (but not with distributed file system
  23.                  like NFS...)
  24. - WriteControl : the cache is read and compared just after being stored
  25.                  (efficient but not perfect)
  26. - ReadControl : a control key (crc32(), md5() ou strlen()) is embeded is the 
  27.                 cache file and compared just after reading (the most efficient
  28.                 but the slowest)
  29.