62

Redisサーバーが実行されているかどうかを確認するにはどうすればよいですか?

実行されていない場合は、データベースの使用にフォールバックしたいと思います。

私はFuelPHPフレームワークを使用しているので、これに基づくソリューション、または単なる標準のPHPを利用できます。

4

6 に答える 6

192

コマンドラインを使用して、redisが実行されているかどうかを確認できます。

redis-cli ping

あなたは戻る必要があります

PONG

これは、redisが稼働中であることを示します。

于 2017-07-07T23:53:22.170 に答える
7

できることは、インスタンス(\ Redis :: instance())を取得して、次のように操作することです。

try
{
    $redis = \Redis::instance();
    // Do something with Redis.
}
catch(\RedisException $e)
{
    // Fall back to other db usage.
}

ただし、redisが実行されているかどうかを知っていることが望ましいでしょう。これは、その場でそれを検出する方法にすぎません。

于 2012-03-26T20:08:07.580 に答える
4

redis-cli -h host_url -p 6379 ping

于 2021-10-01T04:54:39.593 に答える
3

あなたはこの方法でそれを行うことができます。

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

echo $redis->ping();

次に、それが印刷されるかどうかを確認します+PONG。これは、redis-serverが実行されていることを示しています。

于 2014-12-27T02:56:50.020 に答える
3

すべての答えは素晴らしいです、

a別の方法はチェックすることですif default REDIS port is listening

つまり、ポート番号6379 lsof -i:6379

上記のコマンドの出力が得られない場合は、redisが実行されていないことを意味します。

于 2021-06-21T12:32:33.080 に答える
0

これは、Node-Redisを実行しているユーザー向けです。

const redis = require('redis');

const REDIS_PORT = process.env.REDIS_PORT || 6379

const client = redis.createClient(REDIS_PORT)

const connectRedis = async () => {
  await client.PING().then(

    async () => {
      // what to run if the PING is successful, which also means the server is up.

      console.log("server is running...")
    }, 
    async () => {
      // what to run if the PING is unsuccessful, which also means the server is down.

      console.log("server is not running, trying to connect...")
      client.on('error', (err) => console.log('Redis Client Error', err));
      await client.connect();
    })
return
}
于 2022-02-05T01:45:24.337 に答える