Cache_Lite
[ class tree: Cache_Lite ] [ index: Cache_Lite ] [ all elements ]

Class: Cache_Lite

Source Location: /pear/Cache/Lite.php

Class Overview




Variables

Methods


Child classes:


Class Details

[line 29]


[ Top ]


Class Variables

$_automaticCleaningFactor =  0

[line 217]

Disable / Tune the automatic cleaning process

The automatic cleaning process destroy too old (for the given life time) cache files when a new cache file is written.

  1. => no automatic cache cleaning
  2. => systematic cache cleaning
x (integer) > 1 => automatic cleaning randomly 1 times on x cache write



Type:   int


[ Top ]

$_automaticSerialization =  false

[line 204]

Enable / disable automatic serialization

it can be used to save directly datas which aren't strings (but it's slower)



Type:   boolean


[ Top ]

$_cacheDir =  '/tmp/'

[line 40]

Directory where to put the cache files (make sure to add a trailing slash)


Type:   string


[ Top ]

$_caching =  true

[line 49]

Enable / disable caching

(can be very usefull for the debug of cached scripts)



Type:   boolean


[ Top ]

$_errorHandlingAPIBreak =  false

[line 249]

API break for error handling in CACHE_LITE_ERROR_RETURN mode

In CACHE_LITE_ERROR_RETURN mode, error handling was not good because for example save() method always returned a boolean (a PEAR_Error object would be better in CACHE_LITE_ERROR_RETURN mode). To correct this without breaking the API, this option (false by default) can change this handling.



Type:   boolean


[ Top ]

$_file =

[line 81]

File name (with path)


Type:   string


[ Top ]

$_fileLocking =  true

[line 67]

Enable / disable fileLocking

(can avoid cache corruption under bad circumstances)



Type:   boolean


[ Top ]

$_fileName =

[line 88]

File name (without path)


Type:   string


[ Top ]

$_fileNameProtection =  true

[line 194]

File Name protection

if set to true, you can use any cache id or group name if set to false, it can be faster but cache ids and group names will be used directly in cache file names so be carefull with special characters...



Type:   boolean


[ Top ]

$_group =

[line 144]

Current cache group


Type:   string


[ Top ]

$_hashedDirectoryLevel =  0

[line 230]

Nested directory level

Set the hashed directory structure level. 0 means "no hashed directory structure", 1 means "one level of directory", 2 means "two levels"... This option can speed up Cache_Lite only when you have many thousands of cache file. Only specific benchs can help you to choose the perfect value for you. Maybe, 1 or 2 is a good start.



Type:   int


[ Top ]

$_hashedDirectoryUmask =  0700

[line 237]

Umask for hashed directory structure


Type:   int


[ Top ]

$_id =

[line 137]

Current cache id


Type:   string


[ Top ]

$_lifeTime =  3600

[line 58]

Cache lifetime (in seconds)

If null, the cache is valid forever.



Type:   int


[ Top ]

$_memoryCaching =  false

[line 153]

Enable / Disable "Memory Caching"

NB : There is no lifetime for memory caching !



Type:   boolean


[ Top ]

$_memoryCachingArray = array()

[line 168]

Memory caching array


Type:   array


[ Top ]

$_memoryCachingCounter =  0

[line 175]

Memory caching counter


Type:   int


[ Top ]

$_memoryCachingLimit =  1000

[line 182]

Memory caching limit


Type:   int


[ Top ]

$_onlyMemoryCaching =  false

[line 161]

Enable / Disable "Only Memory Caching" (be carefull, memory caching is "beta quality")


Type:   boolean


[ Top ]

$_pearErrorMode =  CACHE_LITE_ERROR_RETURN

[line 130]

Pear error mode (when raiseError is called)

(see PEAR doc)




Tags:


Type:   int


[ Top ]

$_readControl =  true

[line 108]

Enable / disable read control

If enabled, a control key is embeded in cache file and this key is compared with the one calculated after the reading.



Type:   boolean


[ Top ]

$_readControlType =  'crc32'

[line 120]

Type of read control (only if read control is enabled)

Available values are : 'md5' for a md5 hash control (best but slowest) 'crc32' for a crc32 hash control (lightly less safe but faster, better choice) 'strlen' for a length only test (fastest)



Type:   boolean


[ Top ]

$_refreshTime =

[line 74]

Timestamp of the last valid cache


Type:   int


[ Top ]

$_writeControl =  true

[line 98]

Enable / disable write control (the cache is read just after writing to detect corrupt entries)

Enable write control will lightly slow the cache writing but not the cache reading Write control can detect some corrupt cache files but maybe it's not a perfect control



Type:   boolean


[ Top ]



Class Methods


constructor Cache_Lite [line 280]

Cache_Lite Cache_Lite( [array $options = array(NULL)])

Constructor

$options is an assoc. Available options are : $options = array( 'cacheDir' => directory where to put the cache files (string), 'caching' => enable / disable caching (boolean), 'lifeTime' => cache lifetime in seconds (int), 'fileLocking' => enable / disable fileLocking (boolean), 'writeControl' => enable / disable write control (boolean), 'readControl' => enable / disable read control (boolean), 'readControlType' => type of read control 'crc32', 'md5', 'strlen' (string), 'pearErrorMode' => pear error mode (when raiseError is called) (cf PEAR doc) (int), 'memoryCaching' => enable / disable memory caching (boolean), 'onlyMemoryCaching' => enable / disable only memory caching (boolean), 'memoryCachingLimit' => max nbr of records to store into memory caching (int), 'fileNameProtection' => enable / disable automatic file name protection (boolean), 'automaticSerialization' => enable / disable automatic serialization (boolean), 'automaticCleaningFactor' => distable / tune automatic cleaning process (int), 'hashedDirectoryLevel' => level of the hashed directory system (int), 'hashedDirectoryUmask' => umask for hashed directory structure (int), 'errorHandlingAPIBreak' => API break for better error handling ? (boolean) );




Tags:

access:  public


Parameters:

array   $options   options

[ Top ]

method clean [line 443]

boolean clean( [string $group = false], [string $mode = 'ingroup'])

Clean the cache

if no group is specified all cache files will be destroyed else only cache files of the specified group will be destroyed




Tags:

return:  true if no problem
access:  public


Parameters:

string   $group   name of the cache group
string   $mode   flush cache mode : 'old', 'ingroup', 'notingroup', 'callback_myFunction'

[ Top ]

method extendLife [line 547]

void extendLife( )

Extend the life of a valid cache file

see http://pear.php.net/bugs/bug.php?id=6681




Tags:

access:  public


[ Top ]

method get [line 314]

string get( string $id, [string $group = 'default'], [boolean $doNotTestCacheValidity = false])

Test if a cache is available and (if yes) return it



Tags:

return:  data of the cache (else : false)
access:  public


Overridden in child classes as:

Cache_Lite_File::get()
Test if a cache is available and (if yes) return it

Parameters:

string   $id   cache id
string   $group   name of the cache group
boolean   $doNotTestCacheValidity   if set to true, the cache validity won't be tested

[ Top ]

method getMemoryCachingState [line 500]

void getMemoryCachingState( string $id, [string $group = 'default'], [boolean $doNotTestCacheValidity = false])

Load the state of the caching memory array from a given cache file cache



Tags:

access:  public


Parameters:

string   $id   cache id
string   $group   name of the cache group
boolean   $doNotTestCacheValidity   if set to true, the cache validity won't be tested

[ Top ]

method lastModified [line 518]

int lastModified( )

Return the cache last modification time

BE CAREFUL : THIS METHOD IS FOR HACKING ONLY !




Tags:

return:  last modification time


[ Top ]

method raiseError [line 534]

void raiseError( string $msg, int $code)

Trigger a PEAR error

To improve performances, the PEAR.php file is included dynamically. The file is so included only when an error is triggered. So, in most cases, the file isn't included and perfs are much better.




Tags:

access:  public


Parameters:

string   $msg   error message
int   $code   error code

[ Top ]

method remove [line 416]

boolean remove( string $id, [string $group = 'default'])

Remove a cache file



Tags:

return:  true if no problem
access:  public


Parameters:

string   $id   cache id
string   $group   name of the cache group

[ Top ]

method save [line 363]

boolean save( string $data, [string $id = NULL], [string $group = 'default'])

Save some data in a cache file



Tags:

return:  true if no problem (else : false or a PEAR_Error object)
access:  public


Parameters:

string   $data   data to put in cache (can be another type than strings if automaticSerialization is on)
string   $id   cache id
string   $group   name of the cache group

[ Top ]

method saveMemoryCachingState [line 480]

void saveMemoryCachingState( string $id, [string $group = 'default'])

Save the state of the caching memory array into a cache file cache



Tags:

access:  public


Parameters:

string   $id   cache id
string   $group   name of the cache group

[ Top ]

method setLifeTime [line 467]

void setLifeTime( int $newLifeTime)

Set a new life time



Tags:

access:  public


Parameters:

int   $newLifeTime   new life time (in seconds)

[ Top ]

method setOption [line 296]

void setOption( $name, $value)

Generic way to set a Cache_Lite option

see Cache_Lite constructor for available options




Tags:

var:  name of the option
access:  public


Parameters:

   $name  
   $value  

[ Top ]

method setToDebug [line 456]

void setToDebug( )

Set to debug mode

When an error is found, the script will stop and the message will be displayed (in debug mode only).




Tags:

access:  public


[ Top ]


Documentation generated on Sun, 08 Jan 2012 17:51:53 +0100 by phpDocumentor 1.4.3