Cómo verificar si el servidor Redis se está ejecutando

2 minutos de lectura

¿Cómo verificar si el servidor Redis se está ejecutando?

Si no se está ejecutando, quiero recurrir al uso de la base de datos.

Estoy usando el marco FuelPHP, por lo que estoy abierto a una solución basada en esto, o simplemente en PHP estándar.

Puede usar la línea de comando para determinar si redis se está ejecutando:

redis-cli ping

deberías volver

PONG

eso indica que redis está funcionando.

  • no funcionará en el clúster redis

    –Manish Chauhan

    13 de febrero a las 17:01

avatar de usuario
shubham goyal

redis-cli -h host_url -p 6379 ping

avatar de usuario
franco de jonge

Lo que puede hacer es intentar obtener una instancia (\Redis::instance()) y trabajar con ella de esta manera:

try
{
    $redis = \Redis::instance();
    // Do something with Redis.
}
catch(\RedisException $e)
{
    // Fall back to other db usage.
}

Pero preferiblemente sabrías si redis se está ejecutando o no. Esta es solo la forma de detectarlo sobre la marcha.

Todas las respuestas son geniales,

aOtra forma puede ser verificar if default REDIS port is listening

es decir, número de puerto 6379
lsof -i:6379

si no obtiene ningún resultado para el comando anterior, significa que redis no se está ejecutando.

puedes hacerlo de esta manera.

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

echo $redis->ping();

y luego verifique si se imprime +PONGque muestran que el servidor redis se está ejecutando.

avatar de usuario
Kingston fortuna

Esto es para los que corren Nodo-Redis.

const redis = require('redis');

const REDIS_PORT = process.env.REDIS_PORT || 6379

const client = redis.createClient(REDIS_PORT)

const connectRedis = async () => {
  await client.PING().then(

    async () => {
      // what to run if the PING is successful, which also means the server is up.

      console.log("server is running...")
    }, 
    async () => {
      // what to run if the PING is unsuccessful, which also means the server is down.

      console.log("server is not running, trying to connect...")
      client.on('error', (err) => console.log('Redis Client Error', err));
      await client.connect();
    })
return
}

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad