PHP 클래스 Prado\Caching\TMemCache

TMemCache implements a cache application module based on {@link http://www.danga.com/memcached/ memcached}. TMemCache can be configured with the Host and Port properties, which specify the host and port of the memcache server to be used. By default, they take the value 'localhost' and 11211, respectively. These properties must be set before {@link init} is invoked. 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 can be specified by the number of seconds (maximum 60*60*24*30) or a UNIX timestamp. 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. Also note, there is no security measure to protected data in memcache. All data in memcache can be accessed by any process running in the system. To use this module, the memcache PHP extension must be loaded. Some usage examples of TMemCache are as follows, $cache=new TMemCache; // TMemCache may also be loaded as a Prado application module $cache->init(null); $cache->add('object',$object); $object2=$cache->get('object'); You can configure TMemCache two different ways. If you only need one memcache server you may use the method as follows. If you want a more complex configuration, you may use the method as follows. If loaded, TMemCache will register itself with {@link TApplication} as the cache module. It can be accessed via {@link TApplication::getCache()}. TMemCache may be configured in application configuration file as follows where {@link getHost Host} and {@link getPort Port} are configurable properties of TMemCache. Automatic compression of values may be used (using zlib extension) by setting {@link getThreshold Threshold} and {@link getMinSavings MinSavings} properties. NB : MemCache server(s) must be restarted to apply settings. Require (PECL memcache >= 2.0.0) or memcached if {@link useMemcached} is true.
부터: 3.0
저자: Qiang Xue ([email protected])
상속: extends TCache
파일 보기 프로젝트 열기: pradosoft/prado

공개 메소드들

메소드 설명
__destruct ( ) Destructor.
flush ( ) Deletes all values from cache.
getHost ( ) : string
getMinSavings ( ) : float
getPort ( ) : integer
getThreshold ( ) : integer
getUseMemcached ( ) : boolean
init ( $config ) Initializes this module.
setHost ( $value )
setMinSavings ( $value )
setPort ( $value )
setThreshold ( $value )
setUseMemcached ( $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.

비공개 메소드들

메소드 설명
loadConfig ( $xml ) Loads configuration from an XML element

메소드 상세

__destruct() 공개 메소드

Disconnect the memcache server.
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 ( )

getHost() 공개 메소드

public getHost ( ) : string
리턴 string host name of the memcache server

getMinSavings() 공개 메소드

public getMinSavings ( ) : float
리턴 float minimum amount of savings to actually store the value compressed

getPort() 공개 메소드

public getPort ( ) : integer
리턴 integer port number of the memcache server

getThreshold() 공개 메소드

public getThreshold ( ) : integer
리턴 integer minimum value length before attempting to compress

getUseMemcached() 공개 메소드

public getUseMemcached ( ) : boolean
리턴 boolean if memcached instead memcache

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 makes sure that UniquePrefix has been set, creates a Memcache instance and connects to the memcache server.
public init ( $config )

setHost() 공개 메소드

public setHost ( $value )

setMinSavings() 공개 메소드

public setMinSavings ( $value )

setPort() 공개 메소드

public setPort ( $value )

setThreshold() 공개 메소드

public setThreshold ( $value )

setUseMemcached() 공개 메소드

public setUseMemcached ( $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