Chris Harrison
Chris Harrison

Reputation: 5828

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.

Upvotes: 101

Views: 246592

Answers (8)

Sami Ullah
Sami Ullah

Reputation: 38

For Ubuntu it's:

sudo service redis-server status

I hope this helps

Upvotes: -1

Ramesh
Ramesh

Reputation: 1

systemctl status redis

will help you

Upvotes: -4

Davide Radice
Davide Radice

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

shubham goyal
shubham goyal

Reputation: 329

redis-cli -h host_url -p 6379 ping

Upvotes: 22

Ankit Tiwari
Ankit Tiwari

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

Frank de Jonge
Frank de Jonge

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

Azimi
Azimi

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

Yann叶
Yann叶

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

Related Questions