Reputation: 5828
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.
Upvotes: 101
Views: 246592
Reputation: 38
For Ubuntu it's:
sudo service redis-server status
I hope this helps
Upvotes: -1
Reputation: 315
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.
Upvotes: 10
Reputation: 1239
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.
Upvotes: 12
Reputation: 1727
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.
Upvotes: 11
Reputation: 9627
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.
Upvotes: 286
Reputation: 195
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.
Upvotes: 5