3

私たちの 2 つの Web サイトが、php と html のキャッシュに redis サーバーを使用して運用されてから 1 週間が経ちました。時々、次のようなエラーが発生します。

> 22.php:2013-06-22 15:09:00 --- ERROR: +++ protocol error, got '"' as reply type byte
> 22.php:2013-06-22 15:09:00 --- ERROR: +++ protocol error, got '"' as reply type byte
> 22.php:2013-06-22 15:09:16 --- ERROR: +++ protocol error, got '<' as reply type byte
> 22.php:2013-06-22 15:09:51 --- ERROR: +++ protocol error, got '<' as reply type byte
> 22.php:2013-06-22 15:10:31 --- ERROR: +++ protocol error, got '<' as reply type byte
> 22.php:2013-06-22 15:11:22 --- ERROR: +++ protocol error, got '<' as reply type byte

サーバーでApacheを再起動すると、サーバーが数日間停止します...その後、3〜4日後に再び戻ってきます。

私たちはphp 5.4.14でphpredis 2.2.2を使用しています。私はpconnectを使用しており、phpはスレッドセーフでコンパイルされています(問題かもしれません)Redisサーバーは2.6.12で、セキュリティ上の理由からhaproxy( tcp モードで構成)

なぜそれが起こっているのか、それを解決する方法を知っているかどうか疑問に思っていました。

前もって感謝します

4

2 に答える 2

0

predis は phpredis よりも劇的に遅いため、使用しないでください。たとえば、ここを確認してください: http://alekseykorzun.com/post/53283070010/benchmarking-memcached-and-redis-clients

于 2013-08-29T09:25:48.883 に答える
0

Github のこの問題は、あなたに起こったことと似ています。

そのエラーが受信されたときに発生する Redis コマンドをログに記録し、それらが有効であることを確認します。これが無効な Redis コマンドの単に悪いエラー メッセージであるとしても、私は驚かないでしょう。

別の、しかし関連するメモ: phpredis の使用を停止します。Predisは同じことを行い、はるかに優れたサポートとより大きなユーザー コミュニティを備えています。

于 2013-06-24T17:51:21.630 に答える