¿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.
¿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
shubham goyal
redis-cli -h host_url -p 6379 ping
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 +PONG
que muestran que el servidor redis se está ejecutando.
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
}