C:/drupal/includes/cache.inc File Reference

Go to the source code of this file.


Functions

 cache_get ($cid, $table= 'cache')
 cache_set ($cid, $data, $table= 'cache', $expire=CACHE_PERMANENT, $headers=NULL)
 cache_clear_all ($cid=NULL, $table=NULL, $wildcard=FALSE)


Function Documentation

cache_clear_all ( cid = NULL,
table = NULL,
wildcard = FALSE 
)

Expire data from the cache. If called without arguments, expirable entries will be cleared from the cache_page and cache_block tables.

Parameters:
$cid If set, the cache ID to delete. Otherwise, all cache entries that can expire are deleted.
$table If set, the table $table to delete from. Mandatory argument if $cid is set.
$wildcard If set to TRUE, the $cid is treated as a substring to match rather than a complete ID. The match is a right hand match. If '*' is given as $cid, the table $table will be emptied.

Definition at line 133 of file cache.inc.

References cache_clear_all(), db_query(), variable_get(), and variable_set().

Here is the call graph for this function:

cache_get ( cid,
table = 'cache' 
)

Return data from the persistent cache. Data may be stored as either plain text or as serialized data. cache_get will automatically return unserialized objects and arrays.

Parameters:
$cid The cache ID of the data to retrieve.
$table The table $table to store the data in. Valid core values are 'cache_filter', 'cache_menu', 'cache_page', or 'cache' for the default cache.

Definition at line 14 of file cache.inc.

References db_decode_blob(), db_fetch_object(), db_query(), variable_get(), and variable_set().

Here is the call graph for this function:

cache_set ( cid,
data,
table = 'cache',
expire = CACHE_PERMANENT,
headers = NULL 
)

Store data in the persistent cache.

The persistent cache is split up into four database tables. Contributed modules can add additional tables.

'cache_page': This table stores generated pages for anonymous users. This is the only table affected by the page cache setting on the administrator panel.

'cache_menu': Stores the cachable part of the users' menus.

'cache_filter': Stores filtered pieces of content. This table is periodically cleared of stale entries by cron.

'cache': Generic cache storage table.

The reasons for having several tables are as follows:

  • smaller tables allow for faster selects and inserts
  • we try to put fast changing cache items and rather static ones into different tables. The effect is that only the fast changing tables will need a lot of writes to disk. The more static tables will also be better cachable with MySQL's query cache

Parameters:
$cid The cache ID of the data to store.
$data The data to store in the cache. Complex data types will be automatically serialized before insertion. Strings will be stored as plain text and not serialized.
$table The table $table to store the data in. Valid core values are 'cache_filter', 'cache_menu', 'cache_page', or 'cache'.
$expire One of the following values:
  • CACHE_PERMANENT: Indicates that the item should never be removed unless explicitly told to using cache_clear_all() with a cache ID.
  • CACHE_TEMPORARY: Indicates that the item should be removed at the next general cache wipe.
  • A Unix timestamp: Indicates that the item should be kept at least until the given time, after which it behaves like CACHE_TEMPORARY.
$headers A string containing HTTP header information for cached pages.

Definition at line 102 of file cache.inc.

References db_affected_rows(), and db_query().

Here is the call graph for this function:


Generated on Mon Jun 2 15:07:59 2008 for SimpleTest by  1.5.5