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.
Frank de Jonge
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.
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.
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.
来源:https://stackoverflow.com/questions/9866541/how-to-check-whether-the-redis-server-is-running