Blog de Gonzalo

COMO USAR REDIS CON PHP

Hace poco que empecé a usar redis y la verdad es que es bastante versatil. Redis es una base de datos clave-valor siendo no relacional. El uso de redis es parecido a memcached aunque permite hacer muchas más cosas e incorpora persistencia incorporada.
Los valores clave pueden ser cadenas simples, como en memcached, pero también pueden ser tipos más complejos como:

  • Hashes
  • Listas
  • Conjuntos ordenados o no ordenados

Todo los datos , como memcached, se guarda en la memoria por lo que es bastante rápido. Redis también se puede usar almacenar sesiones de php.
Algunos ejemplos de redis:
$redis = new Redis();
//Se puede cambiar la configuración
$redis->connect('127.0.0.1', 6379);

//clave valor sencilla
$redis->set('clave','valor');
//devuelve valor
echo $redis->get('clave');

//Se establecen varias claves con su valor
$redis->mset(array('clave1 => 'Valor1', 'clave2' => 'valor2', 'clave3' => 'valor23'));
//Se recuperan varias claves
$values = $redis->mget(array('clave1','clave2'));

//Comprueba si existe la clave
if ($redis->exists('clave')) {
//el valor anterior era "valor" ahora es "valor mas valor"
   $redis->append('clave', ' mas valor');
}

//Obtener todas las claves que hay guardadas en redis
$claves = $redis->keys('*');

//buscar cpor claves que la clave padre sea "clave:"
$redis->mset(array('clave:1 => 'Valor1', 'clave:2' => 'valor2', 'clave:3' => 'valor23'));
$claves = $redis->keys('clave:*');

//borrar clave o lista de claves
$redis->del('clave');

Los ejemplos que he puesto son bastantes sencillos pero hay más posibilidades.
También podéis aprender como usar sesiones con redis en php y como usar memcached en php.