PredisとPhpRedis

1503 ワード

先日、laravelを有効にするために、Predisを使うかPhpRedisを使うかという問題を引き起こしました.どちらもPHPクライアントfor Redisです.
PhpRedis
  • はphpの拡張として存在する.
  • redis.soをコンパイルしextension_dirの下;
  • php.iniで有効(enable the module in the PHP config file);
  • extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"
    extension = "redis.so"
    
  • Cで作成され、速度が速く、メモリが小さい.
  • は、各redisコマンドの実現に努力する.
  • はPHP Session handlerとすることができる.phpredis can be used to store PHP sessions;

  • Predis
  • 純php実現、速度が遅く、メモリが大きい.
  • 簡単なredisコマンドのパッケージ(wrap);
  • は互換性と弾力性がより良く、ほとんどのredis特性をサポートしています.
  • FAQ about performances;

  • どちらを選びますか.
  • redisのclientとserverが1台の機械にある場合、ネットワークの遅延がないため、PhpRedisは確かにずっと速い.同じマシンにいなければ、ネットワークの遅延要因が速度に与える影響は大きな頭であり、Predisの遅い点は問題ではない.
  • pipeline技術はネットワークの遅延を減らすのに有効である.
  • pipeline();
    
        /* GET or SET */
        if (rand() % 2 == 0) {
          $redis->set($key, rand());
        } else {
          $redis->get($key);
        }
      }
    
  • How fast is Redis?
  • Redis: How does PRedis compare with phpredis?
  • About Predis and benchmarks: why a pure-PHP Redis client anyway? Predisの著者nrkはAleksey's Benchmarking Memcached and Redis Clientsに対する弁解文章である.

  • 両者は共存できないのか?
    -?