How to check whether the Redis server is running
How to check whether the Redis server is running?
If it's not running, I want to fallback to using the database.
I'm using the FuelPHP framework, so I'm open to a solution based on this, or just standard PHP.
Solution 1:
You can use command line to determine if redis is running:
redis-cli ping
you should get back
PONG
that indicates redis is up and running.
Solution 2:
What you can do is try to get an instance (\Redis::instance()) and work with it like this:
try
{
$redis = \Redis::instance();
// Do something with Redis.
}
catch(\RedisException $e)
{
// Fall back to other db usage.
}
But preferably you'd know whether redis is running or not. This is just the way to detect it on the fly.
Solution 3:
redis-cli -h host_url -p 6379 ping
Solution 4:
you can do it by this way.
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo $redis->ping();
and then check if it print +PONG
, which show redis-server is running.
Solution 5:
All answers are great,
aAnother way can be to check if default REDIS port is listening
i.e port number 6379
lsof -i:6379
if you don't get any output for above command then it implies redis is not running.