PHP 클래스 lithium\storage\cache\adapter\Memcache

The Memcache cache adapter is meant to be used through the Cache interface, which abstracts away key generation, adapter instantiation and filter implementation. A simple configuration of this adapter can be accomplished in app/config/bootstrap.php as follows: {{{ Cache::config(array( 'cache-config-name' => array( 'adapter' => 'Memcached', 'servers' => array( array('127.0.0.1', 11211, 100) ) ) )); }}} The 'servers' key accepts entries as arrays, where the format is array(server, port, [weight]), with the weight being optional. This Memcache adapter provides basic support for write, read, delete and clear cache functionality, as well as allowing the first four methods to be filtered as per the Lithium filtering system. Additionally, This adapter defines several methods that are _not_ implemented in other adapters, and are thus non-portable - see the documentation for Cache as to how these methods should be accessed. This adapter stores two keys for each written value - one which consists of the data to be cached, and the other being a cache of the expiration time.
또한 보기: lithium\storage\Cache::key()
또한 보기: lithium\storage\Cache::adapter()
상속: extends lithium\core\Object
파일 보기 프로젝트 열기: unionofrad/lithium 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
$connection object Memcached object instance used by this adapter.

공개 메소드들

메소드 설명
__call ( string $method, array $params = [] ) : mixed Dispatches a not-found method to the connection object. That way, one can easily use a custom method on the adapter. If you want to know, what methods are available, have a look at the documentation of memcached.
__construct ( array $config = [] ) : void Constructor. Instantiates the Memcached object, adds appropriate servers to the pool, and configures any optional settings passed (see the _init() method). When adding servers, the following formats are valid for the 'host' key:
clear ( ) : boolean Clears entire cache by flushing it. All cache keys using the configuration but *without* honoring the scope are removed.
decrement ( string $key, integer $offset = 1 ) : integer | boolean Performs an atomic decrement operation on specified numeric cache item.
delete ( array $keys ) : boolean Will attempt to remove specified keys from the user space cache.
enabled ( ) : boolean Determines if the Memcached extension has been installed.
increment ( string $key, integer $offset = 1 ) : integer | boolean Performs an atomic increment operation on specified numeric cache item.
read ( array $keys ) : array Read values from the cache. Will attempt to return an array of data containing key/value pairs of the requested data.
respondsTo ( string $method, boolean $internal = false ) : boolean Determines if a given method can be called.
write ( array $keys, string | integer $expiry = null ) : boolean Write values to the cache. All items to be cached will receive an expiration time of $expiry.

보호된 메소드들

메소드 설명
_formatHostList ( mixed $host ) : array Formats standard 'host:port' strings into arrays used by Memcached.
_init ( ) : void Handles the actual Memcached connection and server connection adding for the adapter constructor and sets prefix using the scope if provided.

메소드 상세

__call() 공개 메소드

Cache::adapter('memcache')->methodName($argument);
public __call ( string $method, array $params = [] ) : mixed
$method string Name of the method to call.
$params array Parameter list to use when calling $method.
리턴 mixed Returns the result of the method call.

__construct() 공개 메소드

- '127.0.0.1' Configure the adapter to connect to one Memcache server on the default port. - '127.0.0.1:11222' Configure the adapter to connect to one Memcache server on a custom port. - array('167.221.1.5:11222' => 200, '167.221.1.6') Connect to one server on a custom port with a high selection weight, and a second server on the default port with the default selection weight.
또한 보기: lithium\storage\Cache::config()
public __construct ( array $config = [] ) : void
$config array Configuration for this cache adapter. These settings are queryable through `Cache::config('name')`. The available options are as follows: - `'scope'` _string_: Scope which will prefix keys; per default not set. - `'expiry'` _mixed_: The default expiration time for cache values, if no value is otherwise set. Can be either a `strtotime()` compatible tring or TTL in seconds. To indicate items should not expire use `Cache::PERSIST`. Defaults to `+1 hour`. - `'host'` _mixed_: Specifies one or more Memcache servers to connect to, with optional server selection weights. See above for example values.
리턴 void

_formatHostList() 보호된 메소드

Formats standard 'host:port' strings into arrays used by Memcached.
protected _formatHostList ( mixed $host ) : array
$host mixed A host string in `'host:port'` format, or an array of host strings optionally paired with relative selection weight values.
리턴 array Returns an array of `Memcached` server definitions.

_init() 보호된 메소드

Handles the actual Memcached connection and server connection adding for the adapter constructor and sets prefix using the scope if provided.
protected _init ( ) : void
리턴 void

clear() 공개 메소드

Internally keys are not removed but invalidated. Thus this operation doesn't actually free memory on the instance. The behavior and result when removing a single key during this process fails is unknown.
public clear ( ) : boolean
리턴 boolean `true` on successful clearing, `false` otherwise.

decrement() 공개 메소드

Note that, as per the Memcached specification: "If the item's value is not numeric, it is treated as if the value were 0. If the operation would decrease the value below 0, the new value will be 0."
public decrement ( string $key, integer $offset = 1 ) : integer | boolean
$key string Key of numeric cache item to decrement.
$offset integer Offset to decrement - defaults to `1`.
리턴 integer | boolean The item's new value on successful decrement, else `false`.

delete() 공개 메소드

Will attempt to remove specified keys from the user space cache.
public delete ( array $keys ) : boolean
$keys array Keys to uniquely identify the cached items.
리턴 boolean `true` on successful delete, `false` otherwise.

enabled() 공개 정적인 메소드

Determines if the Memcached extension has been installed.
public static enabled ( ) : boolean
리턴 boolean Returns `true` if the `Memcached` extension is installed and enabled, `false` otherwise.

increment() 공개 메소드

Note that, as per the Memcached specification: "If the item's value is not numeric, it is treated as if the value were 0."
public increment ( string $key, integer $offset = 1 ) : integer | boolean
$key string Key of numeric cache item to increment.
$offset integer Offset to increment - defaults to `1`.
리턴 integer | boolean The item's new value on successful increment, else `false`.

read() 공개 메소드

Read values from the cache. Will attempt to return an array of data containing key/value pairs of the requested data.
public read ( array $keys ) : array
$keys array Keys to uniquely identify the cached items.
리턴 array Cached values keyed by cache keys on successful read, keys which could not be read will not be included in the results array.

respondsTo() 공개 메소드

Determines if a given method can be called.
public respondsTo ( string $method, boolean $internal = false ) : boolean
$method string Name of the method.
$internal boolean Provide `true` to perform check from inside the class/object. When `false` checks also for public visibility; defaults to `false`.
리턴 boolean Returns `true` if the method can be called, `false` otherwise.

write() 공개 메소드

Expiration is always based off the current unix time in order to gurantee we never exceed the TTL limit of 30 days when specifying the TTL directly.
public write ( array $keys, string | integer $expiry = null ) : boolean
$keys array Key/value pairs with keys to uniquely identify the to-be-cached item.
$expiry string | integer A `strtotime()` compatible cache time or TTL in seconds. To persist an item use `\lithium\storage\Cache::PERSIST`.
리턴 boolean `true` on successful write, `false` otherwise.

프로퍼티 상세

$connection 공개적으로 프로퍼티

Memcached object instance used by this adapter.
public object $connection
리턴 object