Documentation

PhpiredisStreamConnection extends StreamConnection
in package

This class provides the implementation of a Predis connection that uses PHP's streams for network communication and wraps the phpiredis C extension (PHP bindings for hiredis) to parse and serialize the Redis protocol.

This class is intended to provide an optional low-overhead alternative for processing responses from Redis compared to the standard pure-PHP classes. Differences in speed when dealing with short inline responses are practically nonexistent, the actual speed boost is for big multibulk responses when this protocol processor can parse and return responses very fast.

For instructions on how to build and install the phpiredis extension, please consult the repository of the project.

The connection parameters supported by this class are:

  • scheme: it can be either 'redis', 'tcp' or 'unix'.
  • host: hostname or IP address of the server.
  • port: TCP port of the server.
  • path: path of a UNIX domain socket when scheme is 'unix'.
  • timeout: timeout to perform the connection.
  • read_write_timeout: timeout of read / write operations.
  • async_connect: performs the connection asynchronously.
  • tcp_nodelay: enables or disables Nagle's algorithm for coalescing.
  • persistent: the connection is left intact after a GC collection.
Tags
link
https://github.com/nrk/phpiredis
author

Daniele Alessandri suppakilla@gmail.com

Table of Contents

$initCommands  : mixed
$parameters  : mixed
$cachedId  : mixed
$reader  : mixed
$resource  : mixed
__construct()  : mixed
{@inheritdoc}
__destruct()  : mixed
Disconnects from the server and destroys the underlying resource when the garbage collector kicks in only if the connection has not been marked as persistent.
__sleep()  : mixed
{@inheritdoc}
__toString()  : string
Returns a string representation of the connection.
__wakeup()  : mixed
{@inheritdoc}
addConnectCommand()  : mixed
Pushes the given command into a queue of commands executed when establishing the actual connection to Redis.
connect()  : mixed
{@inheritdoc}
disconnect()  : mixed
{@inheritdoc}
executeCommand()  : mixed
{@inheritdoc}
getParameters()  : ParametersInterface
Returns the parameters used to initialize the connection.
getResource()  : mixed
Returns the underlying resource used to communicate with Redis.
isConnected()  : mixed
{@inheritdoc}
read()  : mixed
{@inheritdoc}
readResponse()  : mixed
{@inheritdoc}
writeRequest()  : mixed
{@inheritdoc}
assertParameters()  : ParametersInterface
Checks some of the parameters used to initialize the connection.
assertSslSupport()  : mixed
Checks needed conditions for SSL-encrypted connections.
createResource()  : mixed
Creates the underlying resource used to communicate with Redis.
createStreamSocket()  : resource
Creates a connected stream socket resource.
getErrorHandler()  : Closure
Returns the handler used by the protocol reader for error responses.
getIdentifier()  : string
Gets an identifier for the connection.
getReader()  : resource
Returns the underlying protocol reader resource.
getStatusHandler()  : Closure
Returns the handler used by the protocol reader for inline responses.
onConnectionError()  : mixed
Helper method to handle connection errors.
onProtocolError()  : mixed
Helper method to handle protocol errors.
tcpStreamInitializer()  : resource
Initializes a TCP stream resource.
tlsStreamInitializer()  : resource
Initializes a SSL-encrypted TCP stream resource.
unixStreamInitializer()  : resource
Initializes a UNIX stream resource.
write()  : mixed
Performs a write operation over the stream of the buffer containing a command serialized with the Redis wire protocol.
assertExtensions()  : mixed
Checks if the phpiredis extension is loaded in PHP.
createExceptionMessage()  : string
Helper method that returns an exception message augmented with useful details from the connection parameters.
createReader()  : resource
Creates a new instance of the protocol reader resource.

Properties

Methods

__destruct()

Disconnects from the server and destroys the underlying resource when the garbage collector kicks in only if the connection has not been marked as persistent.

public __destruct() : mixed
Return values
mixed

__toString()

Returns a string representation of the connection.

public __toString() : string
Return values
string

addConnectCommand()

Pushes the given command into a queue of commands executed when establishing the actual connection to Redis.

public addConnectCommand(CommandInterface $command) : mixed
Parameters
$command : CommandInterface

Instance of a Redis command.

Return values
mixed

getResource()

Returns the underlying resource used to communicate with Redis.

public getResource() : mixed
Return values
mixed

isConnected()

{@inheritdoc}

public isConnected() : mixed
Return values
mixed

assertSslSupport()

Checks needed conditions for SSL-encrypted connections.

protected assertSslSupport(ParametersInterface $parameters) : mixed
Parameters
$parameters : ParametersInterface

Initialization parameters for the connection.

Tags
throws
InvalidArgumentException
Return values
mixed

createResource()

Creates the underlying resource used to communicate with Redis.

protected abstract createResource() : mixed
Return values
mixed

createStreamSocket()

Creates a connected stream socket resource.

protected createStreamSocket(ParametersInterface $parameters, mixed $address, mixed $flags[, mixed $context = null ]) : resource
Parameters
$parameters : ParametersInterface

Connection parameters.

$address : mixed

Address for stream_socket_client().

$flags : mixed

Flags for stream_socket_client().

$context : mixed = null
Return values
resource

getErrorHandler()

Returns the handler used by the protocol reader for error responses.

protected getErrorHandler() : Closure
Return values
Closure

getIdentifier()

Gets an identifier for the connection.

protected getIdentifier() : string
Return values
string

getReader()

Returns the underlying protocol reader resource.

protected getReader() : resource
Return values
resource

getStatusHandler()

Returns the handler used by the protocol reader for inline responses.

protected getStatusHandler() : Closure
Return values
Closure

onConnectionError()

Helper method to handle connection errors.

protected onConnectionError(string $message[, int $code = null ]) : mixed
Parameters
$message : string

Error message.

$code : int = null

Error code.

Return values
mixed

onProtocolError()

Helper method to handle protocol errors.

protected onProtocolError(string $message) : mixed
Parameters
$message : string

Error message.

Return values
mixed

tlsStreamInitializer()

Initializes a SSL-encrypted TCP stream resource.

protected tlsStreamInitializer(ParametersInterface $parameters) : resource
Parameters
$parameters : ParametersInterface

Initialization parameters for the connection.

Return values
resource

write()

Performs a write operation over the stream of the buffer containing a command serialized with the Redis wire protocol.

protected write(string $buffer) : mixed
Parameters
$buffer : string

Representation of a command in the Redis wire protocol.

Return values
mixed

assertExtensions()

Checks if the phpiredis extension is loaded in PHP.

private assertExtensions() : mixed
Return values
mixed

createExceptionMessage()

Helper method that returns an exception message augmented with useful details from the connection parameters.

private createExceptionMessage(string $message) : string
Parameters
$message : string

Error message.

Return values
string

createReader()

Creates a new instance of the protocol reader resource.

private createReader() : resource
Return values
resource

Search results