PHP Redis

Make PHP Redis super easy with Redis Labs

Redis Labs’ products and services enable running Redis datasets in a highly available and auto-scalable manner, with predictable top performance.

The Redise Pack lets you install an enterprise grade Redis cluster in your environment of choice, whether an on-premises data-center or your preferred cloud platform. It gives you full control of your data and configuration – no clustering or sharding knowledge required!

Redise Cloud is a fully-managed cloud service for hosting and running Redis dataset without dealing with nodes, clusters, failure recovery or performance stabilization. Our technology does all that in a fully automated manner. Redise Cloud is available on all popular clouds and platforms-as-a-service.

Using Redis with PHP

In order to use Redis with PHP you will need a PHP Redis client. In following sections, we will demonstrate the use of Predis, a flexible and feature-complete Redis client library for PHP >= 5.3. Additional PHP clients for Redis can be found under the PHP section of the Redis Clients page.

Installing Predis

Predis’ installation instructions are given in the “How to Use Predis” section of its README file. The recommended method for installing Predis is to use Composer and install it from Packagist or the dedicated PEAR channel.

You can also download the latest Predis release from the GitHub repository.

Opening a Connection to Redis Using Predis

The following code creates a connection to Redis using Predis:

require "predis/autoload.php";

$redis = new Predis\Client(array(
    "scheme" => "tcp",
    "host" => "hostname",
    "port" => port,
    "password” => “password"));
echo "Connected to Redis";

Unless you’ve installed Predis with Composer, you’ll need to include the 2nd and 3rd lines of code to load and register the Predis client library. To adapt this example to your code, make sure that you replace the following values with those of your database:

  • In line 8, host should refer to your database’s hostname or IP address
  • In line 9, port should be your database’s port
  • In line 10, password should be your database’s password

Persistent Connections with Predis

Predis supports the use ofing persistent connections, which are recommended practice to minimizeconnection management overhead. To enable persistent connections, use the persistent connection attribute as shown in the following snippet:

$redis = new Predis\Client([
    "scheme" => "tcp",
    "host" => "hostname",
    "port" => port,
    "password” => "password",
    "persistent" => "1"]);

Using SSL and Predis

As of v1.1.0, Predis provides native support for TLS/SSL connections. The above example can be modified to use TLS/SSL as follows:

$redis = new Predis\Client([
    "scheme" => "tls",
    "ssl" => ["cafile" =&gt "path_to_certfile", "verify_peer" => true],
    "host" => "hostname",
    "port" => port,
    "password” => “password"]);

Reading and Writing Data with Predis

Once connected to Redis, you can start reading and writing data. The following code snippet writes the value bar to the Redis key foo, reads it back, and prints it:

// open a connection to Redis

$redis->set("foo", "bar");
$value = $redis->get("foo");

The output of the above code should be:

$ php predis_example.php
Connected to Redis
string(3) "bar"


For more information on using Redis Labs’ products and services with PHP please see the Howto page.