PHP 클래스 Bravo3\Orm\Drivers\Redis\RedisDriver

상속: implements Bravo3\Orm\Drivers\DriverInterface, implements Bravo3\Orm\Drivers\PubSubDriverInterface, use trait Bravo3\Orm\Traits\DebugTrait, use trait Bravo3\Orm\Traits\PubSubTrait, use trait Bravo3\Orm\Drivers\Common\StandardIdValidatorTrait
파일 보기 프로젝트 열기: bravo3/orm 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$client Predis\Client
$initial_retry_delay integer Initial retry delay between failing $client commands.
$max_connection_retries integer Maximum number of Predis connection retries to occur if redis server doesn't respond.
$retry_delay_coefficient integer Get/Write commands that fails will be retried again upto $max_connection_retries times with delays between each retry.
$score_normaliser Bravo3\Orm\Services\ScoreNormaliser
$unit_of_work Bravo3\Orm\Drivers\Common\UnitOfWork

공개 메소드들

메소드 설명
__construct ( mixed $params = null, mixed $options = null, mixed $sentinel_params = null, Predis\ClientInterface $client = null ) Create a new Redis driver
addMultiValueIndex ( string $key, string | array $value ) : void Add one or many values to a set index
addRef ( string $key, Ref $ref ) : void Add a ref to an entity
addSortedIndex ( string $key, mixed $score, string $value ) : void Add or update an item in a sorted index
calculateRetryDelay ( integer $retry_iteration ) : integer Calculate a retry delay to be used in the clientCmd() function to delay failing operations to $client.
clearMultiValueIndex ( string $key ) : void Clear all values from a set index
clearRefs ( string $key ) : void Clear all refs from an entity (delete a ref list)
clearSingleValueIndex ( string $key ) : string Clear the value of a key-value index
clearSortedIndex ( string $key ) : void Clear an entire sorted index
debugLog ( string $msg ) : void Create a debug log
delete ( string $key ) : void Delete a primitive document
flush ( ) : void Execute the current unit of work
getInitialRetryDelay ( ) : integer Gets the Initial retry delay between failing $client commands.
getMaxConnectionRetries ( ) : integer Gets the Maximum number of Predis connection retries to occur if redis server doesn't respond.
getMultiValueIndex ( string $key ) : string[] Get a list of all values on a set index
getPreferredKeyScheme ( ) : Bravo3\Orm\KeySchemes\KeySchemeInterface Get the drivers preferred key scheme
getRefs ( string $key ) : Ref[] Get all refs to an entity
getRetryDelayCoefficient ( ) : integer Returns the current retry delay coefficient set, which is the delay between each retry may happen if the requests to $client fails.
getSingleValueIndex ( string $key ) : string Get the value of a key-value index
getSortedIndex ( string $key, boolean $reverse = false, integer $start = null, integer $stop = null ) : string[] Get a range values in a sorted index
getSortedIndexSize ( string $key ) : integer Get the size of a sorted index, without any filters applied
isPubSubSupported ( ) : boolean Checks if the driver supports publish/subscribe pattern.
listenToPubSub ( callable $callback ) : void Start listening to subscribed channels of the Redis PubSub mechanism.
persist ( string $key, SerialisedData $data, integer $ttl = null ) : void Persist some primitive data
publishMessage ( string $channel, string $message ) : integer Uses Redis PubSub implementation to push messages to the channel specified.
purge ( ) : void Purge the current unit of work, clearing any unexecuted commands
removeMultiValueIndex ( string $key, string | array $value ) : void Remove one or more values from a set index
removeRef ( string $key, Ref $ref ) : void Remove a ref from an entity
removeSortedIndex ( string $key, string $value ) : void Remove an item from a sorted index
retrieve ( string $key ) : SerialisedData Retrieve an object, throwing an exception if not found
scan ( string $key ) : string[] Scan key-value indices and return the value of all matching keys
setInitialRetryDelay ( integer $initial_retry_delay ) : self Sets the Initial retry delay between failing $client commands.
setMaxConnectionRetries ( integer $max_connection_retries ) : self Sets the Maximum number of Predis connection retries to occur if redis server doesn't respond.
setRetryDelayCoefficient ( integer $delay_coefficient ) : RedisDriver Set retry delay between $client command retries.
setSingleValueIndex ( string $key, string $value ) : void Set a key-value index

보호된 메소드들

메소드 설명
getScoreNormaliser ( ) : ScoreNormaliser Lazy-loading score normaliser

비공개 메소드들

메소드 설명
clientCmd ( string $cmd, array | callable $params, integer $retry_iteration ) : mixed A wrapper function to wrap Redis commands which go to Predis Client in order to replay them if server connection issues occur.
flushMulti ( ) Execute all items in the work queue in a single transaction
flushSingle ( ) Execute the next item in the work queue
getPredisCommand ( Command $command ) : Predis\Command\CommandInterface Build a Predis command from a Command object

메소드 상세

__construct() 공개 메소드

Create a new Redis driver
public __construct ( mixed $params = null, mixed $options = null, mixed $sentinel_params = null, Predis\ClientInterface $client = null )
$params mixed
$options mixed
$sentinel_params mixed
$client Predis\ClientInterface

addMultiValueIndex() 공개 메소드

Add one or many values to a set index
public addMultiValueIndex ( string $key, string | array $value ) : void
$key string
$value string | array
리턴 void

addRef() 공개 메소드

Add a ref to an entity
public addRef ( string $key, Ref $ref ) : void
$key string Entity ref key
$ref Bravo3\Orm\Drivers\Common\Ref Reference to add
리턴 void

addSortedIndex() 공개 메소드

Add or update an item in a sorted index
public addSortedIndex ( string $key, mixed $score, string $value ) : void
$key string
$score mixed
$value string
리턴 void

calculateRetryDelay() 공개 메소드

Note: Calculations are done in microseconds.
public calculateRetryDelay ( integer $retry_iteration ) : integer
$retry_iteration integer
리턴 integer

clearMultiValueIndex() 공개 메소드

Clear all values from a set index
public clearMultiValueIndex ( string $key ) : void
$key string
리턴 void

clearRefs() 공개 메소드

Clear all refs from an entity (delete a ref list)
public clearRefs ( string $key ) : void
$key string
리턴 void

clearSingleValueIndex() 공개 메소드

Clear the value of a key-value index
public clearSingleValueIndex ( string $key ) : string
$key string
리턴 string

clearSortedIndex() 공개 메소드

Clear an entire sorted index
public clearSortedIndex ( string $key ) : void
$key string
리턴 void

debugLog() 공개 메소드

Create a debug log
public debugLog ( string $msg ) : void
$msg string
리턴 void

delete() 공개 메소드

Delete a primitive document
public delete ( string $key ) : void
$key string
리턴 void

flush() 공개 메소드

Execute the current unit of work
public flush ( ) : void
리턴 void

getInitialRetryDelay() 공개 메소드

Gets the Initial retry delay between failing $client commands.
public getInitialRetryDelay ( ) : integer
리턴 integer

getMaxConnectionRetries() 공개 메소드

Gets the Maximum number of Predis connection retries to occur if redis server doesn't respond.

getMultiValueIndex() 공개 메소드

If the key does not exist, an empty array should be returned.
public getMultiValueIndex ( string $key ) : string[]
$key string
리턴 string[]

getPreferredKeyScheme() 공개 메소드

Get the drivers preferred key scheme
public getPreferredKeyScheme ( ) : Bravo3\Orm\KeySchemes\KeySchemeInterface
리턴 Bravo3\Orm\KeySchemes\KeySchemeInterface

getRefs() 공개 메소드

Get all refs to an entity
public getRefs ( string $key ) : Ref[]
$key string Entity ref key
리턴 Bravo3\Orm\Drivers\Common\Ref[]

getRetryDelayCoefficient() 공개 메소드

Returns the current retry delay coefficient set, which is the delay between each retry may happen if the requests to $client fails.

getScoreNormaliser() 보호된 메소드

Lazy-loading score normaliser
protected getScoreNormaliser ( ) : ScoreNormaliser
리턴 Bravo3\Orm\Services\ScoreNormaliser

getSingleValueIndex() 공개 메소드

If the key does not exist, null should be returned.
public getSingleValueIndex ( string $key ) : string
$key string
리턴 string

getSortedIndex() 공개 메소드

If $start/$stop are null then they are assumed to be the start/end of the entire set
public getSortedIndex ( string $key, boolean $reverse = false, integer $start = null, integer $stop = null ) : string[]
$key string
$reverse boolean
$start integer
$stop integer
리턴 string[]

getSortedIndexSize() 공개 메소드

Get the size of a sorted index, without any filters applied
public getSortedIndexSize ( string $key ) : integer
$key string
리턴 integer

isPubSubSupported() 공개 메소드

Checks if the driver supports publish/subscribe pattern.
public isPubSubSupported ( ) : boolean
리턴 boolean

listenToPubSub() 공개 메소드

Add a callback to a particular subscription channel.
public listenToPubSub ( callable $callback ) : void
$callback callable
리턴 void

persist() 공개 메소드

Persist some primitive data
public persist ( string $key, SerialisedData $data, integer $ttl = null ) : void
$key string
$data Bravo3\Orm\Drivers\Common\SerialisedData
$ttl integer
리턴 void

publishMessage() 공개 메소드

Uses Redis PubSub implementation to push messages to the channel specified.
public publishMessage ( string $channel, string $message ) : integer
$channel string
$message string
리턴 integer

purge() 공개 메소드

Purge the current unit of work, clearing any unexecuted commands
public purge ( ) : void
리턴 void

removeMultiValueIndex() 공개 메소드

Remove one or more values from a set index
public removeMultiValueIndex ( string $key, string | array $value ) : void
$key string
$value string | array
리턴 void

removeRef() 공개 메소드

If the reference does not exist, no action is taken.
public removeRef ( string $key, Ref $ref ) : void
$key string Entity ref key
$ref Bravo3\Orm\Drivers\Common\Ref Reference to remove
리턴 void

removeSortedIndex() 공개 메소드

Remove an item from a sorted index
public removeSortedIndex ( string $key, string $value ) : void
$key string
$value string
리턴 void

retrieve() 공개 메소드

Retrieve an object, throwing an exception if not found
public retrieve ( string $key ) : SerialisedData
$key string
리턴 Bravo3\Orm\Drivers\Common\SerialisedData

scan() 공개 메소드

Scan key-value indices and return the value of all matching keys
public scan ( string $key ) : string[]
$key string
리턴 string[]

setInitialRetryDelay() 공개 메소드

Sets the Initial retry delay between failing $client commands.
public setInitialRetryDelay ( integer $initial_retry_delay ) : self
$initial_retry_delay integer the initial retry delay
리턴 self

setMaxConnectionRetries() 공개 메소드

Sets the Maximum number of Predis connection retries to occur if redis server doesn't respond.
public setMaxConnectionRetries ( integer $max_connection_retries ) : self
$max_connection_retries integer the max connection retries
리턴 self

setRetryDelayCoefficient() 공개 메소드

Set retry delay between $client command retries.
public setRetryDelayCoefficient ( integer $delay_coefficient ) : RedisDriver
$delay_coefficient integer
리턴 RedisDriver

setSingleValueIndex() 공개 메소드

Set a key-value index
public setSingleValueIndex ( string $key, string $value ) : void
$key string
$value string
리턴 void

프로퍼티 상세

$client 보호되어 있는 프로퍼티

protected Client,Predis $client
리턴 Predis\Client

$initial_retry_delay 보호되어 있는 프로퍼티

Initial retry delay between failing $client commands.
protected int $initial_retry_delay
리턴 integer

$max_connection_retries 보호되어 있는 프로퍼티

Maximum number of Predis connection retries to occur if redis server doesn't respond.
protected int $max_connection_retries
리턴 integer

$retry_delay_coefficient 보호되어 있는 프로퍼티

Get/Write commands that fails will be retried again upto $max_connection_retries times with delays between each retry.
protected int $retry_delay_coefficient
리턴 integer

$score_normaliser 보호되어 있는 프로퍼티

protected ScoreNormaliser,Bravo3\Orm\Services $score_normaliser
리턴 Bravo3\Orm\Services\ScoreNormaliser

$unit_of_work 보호되어 있는 프로퍼티

protected UnitOfWork,Bravo3\Orm\Drivers\Common $unit_of_work
리턴 Bravo3\Orm\Drivers\Common\UnitOfWork