PHP 클래스 Prado\Caching\TSqliteCache

TSqliteCache implements a cache application module based on SQLite database. THIS CLASS IS DEPRECATED since it relies on the sqlite PHP extension, that is no longer loaded by default since PHP 5.1. You are discouraged from using it: use {@link TDbCache} instead. Since PRADO v3.1.0, a new DB-based cache module called {@link TDbCache} is provided. If you have PDO extension installed, you may consider using the new cache module instead as it allows you to use different database to store the cached data. The database file is specified by the {@link setDbFile DbFile} property. If not set, the database file will be created under the system state path. If the specified database file does not exist, it will be created automatically. Make sure the directory containing the specified DB file and the file itself is writable by the Web server process. The following basic cache operations are implemented: - {@link get} : retrieve the value with a key (if any) from cache - {@link set} : store the value with a key into cache - {@link add} : store the value only if cache does not have this key - {@link delete} : delete the value with the specified key from cache - {@link flush} : delete all values from cache Each value is associated with an expiration time. The {@link get} operation ensures that any expired value will not be returned. The expiration time by the number of seconds. A expiration time 0 represents never expire. By definition, cache does not ensure the existence of a value even if it never expires. Cache is not meant to be an persistent storage. Do not use the same database file for multiple applications using TSqliteCache. Also note, cache is shared by all user sessions of an application. Some usage examples of TSqliteCache are as follows, $cache=new TSqliteCache; // TSqliteCache may also be loaded as a Prado application module $cache->setDbFile($dbFilePath); $cache->init(null); $cache->add('object',$object); $object2=$cache->get('object'); If loaded, TSqliteCache will register itself with {@link TApplication} as the cache module. It can be accessed via {@link TApplication::getCache()}. TSqliteCache may be configured in application configuration file as follows where {@link getDbFile DbFile} is a property specifying the location of the SQLite DB file (in the namespace format).
부터: 3.0
저자: Qiang Xue ([email protected])
상속: extends TCache
파일 보기 프로젝트 열기: pradosoft/prado

공개 메소드들

메소드 설명
__destruct ( ) Destructor.
flush ( ) Deletes all values from cache.
getDbFile ( ) : string
init ( $config ) Initializes this module.
setDbFile ( $value )

보호된 메소드들

메소드 설명
addValue ( $key, $value, $expire ) : boolean Stores a value identified by a key into cache if the cache does not contain this key.
deleteValue ( $key ) : boolean Deletes a value with the specified key from cache This is the implementation of the method declared in the parent class.
getValue ( $key ) : string Retrieves a value from cache with a specified key.
setValue ( $key, $value, $expire ) : boolean Stores a value identified by a key in cache.

메소드 상세

__destruct() 공개 메소드

Disconnect the db connection.
public __destruct ( )

addValue() 보호된 메소드

This is the implementation of the method declared in the parent class.
protected addValue ( $key, $value, $expire ) : boolean
리턴 boolean true if the value is successfully stored into cache, false otherwise

deleteValue() 보호된 메소드

Deletes a value with the specified key from cache This is the implementation of the method declared in the parent class.
protected deleteValue ( $key ) : boolean
리턴 boolean if no error happens during deletion

flush() 공개 메소드

Be careful of performing this operation if the cache is shared by multiple applications.
public flush ( )

getDbFile() 공개 메소드

public getDbFile ( ) : string
리턴 string database file path (in namespace form)

getValue() 보호된 메소드

This is the implementation of the method declared in the parent class.
protected getValue ( $key ) : string
리턴 string the value stored in cache, false if the value is not in the cache or expired.

init() 공개 메소드

This method is required by the IModule interface. It checks if the DbFile property is set, and creates a SQLiteDatabase instance for it. The database or the cache table does not exist, they will be created. Expired values are also deleted.
public init ( $config )

setDbFile() 공개 메소드

public setDbFile ( $value )

setValue() 보호된 메소드

This is the implementation of the method declared in the parent class.
protected setValue ( $key, $value, $expire ) : boolean
리턴 boolean true if the value is successfully stored into cache, false otherwise