Skip to content

Connection Parameters

Till Krüss edited this page Oct 29, 2024 · 14 revisions

Predis by default supports various parameters used to control the behaviour of the underlying connection to Redis. These parameters can be specified when creating a new instance of Predis\Client using an URI string or a named array, for example:

$client = new Predis\Client('tcp://127.0.0.1:6379?database=15');

which is equivalent to:

$client = new Predis\Client(array(
    'scheme'   => 'tcp',
    'host'     => '127.0.0.1',
    'port'     => 6379,
    'database' => 15
));
Name Type Default Description
scheme string tcp Specifies the protocol used to communicate with an instance of Redis. Internally the client uses the connection class associated to the specified connection scheme. By default Predis supports tcp (TCP/IP), unix (UNIX domain sockets) or tls (TCP/IP with Transport Layer Security).
host string 127.0.0.1 IP or hostname of the target server. This is ignored when connecting to Redis using UNIX domain sockets.
port integer 6379 TCP/IP port of the target server. This is ignored when connecting to Redis using UNIX domain sockets.
path string not set Path of the UNIX domain socket file used when connecting to Redis using UNIX domain sockets.
database integer not set Accepts a numeric value that is used by Predis to automatically select a logical database with the SELECT command.
password string not set Accepts a value used to authenticate with a Redis server protected by password with the AUTH command.
username string not set Accepts the ACL username (Redis >= 6.0).
async boolean false Specifies if connections to the server is estabilished in a non-blocking way (that is, the client is not blocked while the underlying resource performs the actual connection).
persistent boolean false Specifies if the underlying connection resource should be left open when a script ends its lifecycle.
timeout float 5.0 Timeout (expressed in seconds) used to connect to a Redis server after which an exception is thrown.
read_write_timeout float not set Timeout (expressed in seconds) used when performing read or write operations on the underlying network resource after which an exception is thrown. The default value depends on the underlying platform but does not have a defined default value.
alias string not set Identifies a connection by providing a mnemonic alias. This is mostly useful with aggregated connections such as client-side sharding (cluster) or master/slave replication.
weight integer not set Specifies a weight used to balance the distribution of keys asymmetrically across multiple servers when using client-side sharding (cluster).
client_info integer false Whether to set call CLIENT SETINFO when connecting.
Clone this wiki locally