Predis para PHP: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Predis e para que serve

\n\n

Predis é um cliente completo para trabalhar com Redis (Remote Dictionary Server) na linguagem PHP. Redis é um armazenamento de dados do tipo chave-valor de alto desempenho, frequentemente usado para cache, gerenciamento de sessões, filas de mensagens e tempo real. Predis permite que aplicações PHP interajam com o servidor Redis, enviando comandos e recebendo respostas.

\n\n

Por que usar Predis? Ao contrário de outros clientes (como phpredis), Predis é escrito inteiramente em PHP e não requer a instalação de extensões C adicionais. Isso o torna ideal para ambientes onde você não pode controlar a instalação de extensões (por exemplo, em hospedagens compartilhadas). Predis suporta todos os principais recursos do Redis: strings, hashes, listas, conjuntos, transações, Pub/Sub, clusterização e muito mais.

\n\n

Principais cenários de uso:

\n
    \n
  • Cache — aceleração do site armazenando dados frequentemente solicitados na memória RAM.
  • \n
  • Gerenciamento de sessões — armazenamento de sessões de usuários no Redis para acesso rápido e escalabilidade.
  • \n
  • Filas de tarefas — organização de processamento em segundo plano usando listas do Redis.
  • \n
  • Classificações e contadores — uso de conjuntos ordenados para construir rankings.
  • \n
  • Pub/Sub — implementação de sistemas de troca de mensagens em tempo real.
  • \n
\n\n

Instalação do Predis

\n\n

Predis é distribuído via Composer — o gerenciador de pacotes padrão para PHP. Certifique-se de ter o Composer instalado. Caso contrário, baixe-o em getcomposer.org.

\n\n

Para instalar o Predis, execute o comando na raiz do seu projeto:

\n\n
composer require predis/predis
\n\n

Após a instalação, uma pasta vendor e o arquivo composer.json serão criados no seu projeto. Para incluir o Predis, use o autoloader do Composer:

\n\n
require 'vendor/autoload.php';
\n\n

Requisitos mínimos: PHP 7.2 ou superior. Predis não requer a instalação da extensão Redis para PHP, pois implementa o protocolo Redis em PHP puro.

\n\n

Início rápido com exemplo de código

\n\n

Vamos escrever um script simples que se conecta ao Redis, salva um valor e o lê.

\n\n
<?php\nrequire 'vendor/autoload.php';\n\nuse Predis\\Client;\n\n// Cria um cliente Redis (por padrão, conecta-se a localhost:6379)\n$client = new Client();\n\n// Define um valor\n$client->set('greeting', 'Olá, Redis!');\n\n// Obtém o valor\n$value = $client->get('greeting');\necho $value; // Exibirá: Olá, Redis!\n\n// Verifica se a chave existe\nif ($client->exists('greeting')) {\n    echo "A chave existe!";\n}\n\n// Remove a chave\n$client->del(['greeting']);\n?>
\n\n

Este código faz o seguinte:

\n
    \n
  1. Conecta-se ao servidor Redis em localhost (porta 6379).
  2. \n
  3. Salva a string "Olá, Redis!" sob a chave "greeting".
  4. \n
  5. Lê o valor de volta e o exibe.
  6. \n
  7. Verifica a existência da chave.
  8. \n
  9. Remove a chave.
  10. \n
\n\n

Se o Redis estiver rodando em outro host ou porta, passe os parâmetros de conexão:

\n\n
$client = new Client([\n    'scheme' => 'tcp',\n    'host'   => '192.168.1.100',\n    'port'   => 6379,\n]);
\n\n

Principais métodos do Predis

\n\n

Predis fornece uma interface conveniente para todos os comandos do Redis. Vamos explorar os 10 métodos mais usados com exemplos detalhados.

\n\n

1. set — definindo um valor

\n

O que faz: Define um valor para a chave especificada. Se a chave já existir, seu valor é sobrescrito.

\n

Parâmetros:

\n
    \n
  • $key (string) — nome da chave.
  • \n

Recommendations