Cache/Backend/Sqlite.php

Show: PublicProtectedPrivateinherited
Table of Contents
Zend Framework
LICENSE This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Cache  
Subpackage
Zend_Cache_Backend  
Version
$Id$  

\Zend_Cache_Backend_Sqlite

Package: Zend_Cache\Zend_Cache_Backend
Implements
Parent(s)
\Zend_Cache_Backend
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

>VPropertyprivatemixed $_db = null
DB ressource
Default valuenullDetails
Type
mixed
>VPropertyprotectedarray $_options = array('cache_db_complete_path' => null, 'automatic_vacuum_factor' => 10)
Available options
=====> (string) cache_db_complete_path : - the complete path (filename included) of the SQLITE database ====> (int) automatic_vacuum_factor : - Disable / Tune the automatic vacuum process - The automatic vacuum process defragment the database file (and make it smaller) when a clean() or delete() is called 0 => no automatic vacuum 1 => systematic vacuum (when delete() or clean() methods are called) x (integer) > 1 => automatic vacuum randomly 1 times on x clean() or delete()
Default valuearray('cache_db_complete_path' => null, 'automatic_vacuum_factor' => 10)Details
Type
array
>VPropertyprivateboolean $_structureChecked = false
Boolean to store if the structure has benn checked or not
Default valuefalseDetails
Type
boolean

Methods

methodpublic___expire(string $id) : void

PUBLIC METHOD FOR UNIT TESTING ONLY !

Force a cache record to expire
Parameters
NameTypeDescription
$idstring

Cache id

methodpublic__construct(array $options = array()) : void

Constructor

Parameters
NameTypeDescription
$optionsarray

Associative array of options

Throws
ExceptionDescription
\Zend_cache_Exception
methodpublic__destruct() : void

Destructor

methodprivate_automaticVacuum() : void

Deal with the automatic vacuum process

methodprivate_buildStructure() : false

Build the database structure

Returns
TypeDescription
false
methodprivate_checkAndBuildStructure() : boolean

Check if the database structure is ok (with the good version), if no : build it

Returns
TypeDescription
booleanTrue if ok
Throws
ExceptionDescription
\Zend_Cache_Exception
methodprivate_checkStructureVersion() : boolean

Check if the database structure is ok (with the good version)

Returns
TypeDescription
booleanTrue if ok
methodprivate_clean(string $mode = \Zend_Cache::CLEANING_MODE_ALL, array $tags = array()) : boolean

Clean some cache records

Available modes are : Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags ($tags can be an array of strings or a single string)
Parameters
NameTypeDescription
$modestring

Clean mode

$tagsarray

Array of tags

Returns
TypeDescription
booleanTrue if no problem
methodprivate_getConnection() : resource

Return the connection resource

If we are not connected, the connection is made
Returns
TypeDescription
resourceConnection resource
Throws
ExceptionDescription
\Zend_Cache_Exception
methodprivate_query(string $query) : mixed | false

Execute an SQL query silently

Parameters
NameTypeDescription
$querystring

SQL query

Returns
TypeDescription
mixed | falsequery results
methodprivate_registerTag(string $id, string $tag) : boolean

Register a cache id with the given tag

Parameters
NameTypeDescription
$idstring

Cache id

$tagstring

Tag

Returns
TypeDescription
booleanTrue if no problem
methodpublicclean(string $mode = \Zend_Cache::CLEANING_MODE_ALL, array $tags = array()) : boolean

Clean some cache records

Available modes are : Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags ($tags can be an array of strings or a single string)
Parameters
NameTypeDescription
$modestring

Clean mode

$tagsarray

Array of tags

Returns
TypeDescription
booleanTrue if no problem
methodpublicgetCapabilities() : array

Return an associative array of capabilities (booleans) of the backend

The array must include these keys : - automatic_cleaning (is automating cleaning necessary) - tags (are tags supported) - expired_read (is it possible to read expired cache records (for doNotTestCacheValidity option for example)) - priority does the backend deal with priority when saving - infinite_lifetime (is infinite lifetime can work with this backend) - get_list (is it possible to get the list of cache ids and the complete list of tags)
Returns
TypeDescription
arrayassociative of with capabilities
methodpublicgetFillingPercentage() : int

Return the filling percentage of the backend storage

Returns
TypeDescription
intinteger between 0 and 100
Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublicgetIds() : array

Return an array of stored cache ids

Returns
TypeDescription
arrayarray of stored cache ids (string)
methodpublicgetIdsMatchingAnyTags(array $tags = array()) : array

Return an array of stored cache ids which match any given tags

In case of multiple tags, a logical AND is made between tags
Parameters
NameTypeDescription
$tagsarray

array of tags

Returns
TypeDescription
arrayarray of any matching cache ids (string)
methodpublicgetIdsMatchingTags(array $tags = array()) : array

Return an array of stored cache ids which match given tags

In case of multiple tags, a logical AND is made between tags
Parameters
NameTypeDescription
$tagsarray

array of tags

Returns
TypeDescription
arrayarray of matching cache ids (string)
methodpublicgetIdsNotMatchingTags(array $tags = array()) : array

Return an array of stored cache ids which don't match given tags

In case of multiple tags, a logical OR is made between tags
Parameters
NameTypeDescription
$tagsarray

array of tags

Returns
TypeDescription
arrayarray of not matching cache ids (string)
methodpublicgetMetadatas(string $id) : array

Return an array of metadatas for the given cache id

The array must include these keys : - expire : the expire timestamp - tags : a string array of tags - mtime : timestamp of last modification time
Parameters
NameTypeDescription
$idstring

cache id

Returns
TypeDescription
arrayarray of metadatas (false if the cache id is not found)
methodpublicgetTags() : array

Return an array of stored tags

Returns
TypeDescription
arrayarray of stored tags (string)
methodpublicload(string $id, boolean $doNotTestCacheValidity = false) : string | false

Test if a cache is available for the given id and (if yes) return it (false else)

Parameters
NameTypeDescription
$idstring

Cache id

$doNotTestCacheValidityboolean

If set to true, the cache validity won't be tested

Returns
TypeDescription
string | falseCached datas
methodpublicremove(string $id) : boolean

Remove a cache record

Parameters
NameTypeDescription
$idstring

Cache id

Returns
TypeDescription
booleanTrue if no problem
methodpublicsave(string $data, string $id, array $tags = array(), int $specificLifetime = false) : boolean

Save some string datas into a cache record

Note : $data is always "string" (serialization is done by the core not by the backend)
Parameters
NameTypeDescription
$datastring

Datas to cache

$idstring

Cache id

$tagsarray

Array of strings, the cache record will be tagged by each string entry

$specificLifetimeint

If != false, set a specific lifetime for this cache record (null => infinite lifetime)

Returns
TypeDescription
booleanTrue if no problem
Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublictest(string $id) : mixed | false

Test if a cache is available or not (for the given id)

Parameters
NameTypeDescription
$idstring

Cache id

Returns
TypeDescription
mixed | false(a cache is not available) or "last modified" timestamp (int) of the available cache record
methodpublictouch(string $id, int $extraLifetime) : boolean

Give (if possible) an extra lifetime to the given cache id

Parameters
NameTypeDescription
$idstring

cache id

$extraLifetimeint
Returns
TypeDescription
booleantrue if ok
Documentation was generated by phpDocumentor 2.2.0 .