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.
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.
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.
redis
reference redis-cli –
Fixed 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.
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 this command on linux:
systemctl status redis-server
It will give you this output:
● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2023-01-11 19:14:30 UTC; 1 day 4h ago Docs: http://redis.io/documentation, man:redis-server(1) Main PID: 43270 (redis-server) Status: "Ready to accept connections" Tasks: 5 (limit: 477) Memory: 18.5M CPU: 3min 34.450s CGroup: /system.slice/redis-server.service └─43270 "/usr/bin/redis-server 127.0.0.1:6379" "" "" "" "" "" "" "" Jan 11 19:14:30 ip-172-31-17-230 systemd[1]: Starting Advanced key-value store... Jan 11 19:14:30 ip-172-31-17-230 systemd[1]: Started Advanced key-value store.
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.
systemctl status redis
will help you
redis
instead of redis-server
as used in the other answer? Why? –
Orpington © 2022 - 2024 — McMap. All rights reserved.