20

多くの書き込みを使用するプロジェクトで Redis を使用することを検討しています。

そのため、サーバーにセットアップした後、レコードを追加するための単純なループで Predis を使用して単純な PHP スクリプトを作成しました。PHP の MySQLi を使用して、MySQL テーブル (InnoDB) でのみ、同様のことを行う 2 つ目のスクリプトも作成しました。

10k ループ、100k ループ、500k ループを実行しましたが、MySQL は毎回 Redis を打ち負かしました。実際、追加したレコードが多いほど、MySQL は Redis よりも高速でした。

Redis の周りには非常に多くの話題 (誇大宣伝?) があるので、ここに何かが欠けていると思いたいです。

私を教育してください:)

ありがとう!

これが私のPredisコードです:

for ($i=0; $i<100000; $i++) {
    $predis->set('key'.$i, $i);
}

これが私のMySQLiコードです:

for ($i=0; $i<100000; $i++) {
    mysqli_query($db, "INSERT INTO test (`key`, `value`) VALUES ('key$i', $i)");
}
4

1 に答える 1

18

predisをmysqliと比較することは不適切です

mysqli拡張機能-は拡張機能ですが、predisはphpクライアントライブラリです。つまり、mysqliはコンパイルされたコードですが、predisは単なるphpです-拡張機能の方が高速です。

質問に示されている種類のベンチマークは、主にPHPコードと拡張機能のパフォーマンスの低下を示しています。

のように比較する

書き込みパフォーマンスを比較したい場合は、phpredis拡張機能と比較する必要があります。

于 2012-10-29T17:19:59.680 に答える