1

Booksleeveに関するこの投稿と、公式の Windows Redis ディストリビューションがないという事実を参照して、ベスト プラクティスは何ですか? Win32 でコンパイルした方が良いですか、それとも「非公式」の win32/64 ディストリビューションが信頼性が高く維持されているのでしょうか?

4

1 に答える 1

2

Booksleeve は他の redis クライアントにすぎず、使用する redis サーバーのバージョン/プラットフォームとはかなり直交しています。個人的には、現在のところ、ローカル開発者の利便性として redis-server の win32 実装のみを使用します。実稼働マシンでは、おそらく Linux ビルドを使用する必要があります (問題がある場合は、ubuntu サーバーを使用します)。この理由は、redis-server が安価な Linux fork/copy-on-write 機能を利用してバックグラウンド保存 (およびおそらく他の機能) を実行するように設計されているという単純な事実に帰着します。Windowsにはそのようなフォークはなく、「Linux on Windows」の実装では通常、メモリ コピーが行われます (かなり高価で、特定の操作の実行方法に大きな影響を与える可能性があります)。

さらに悪いことに、少なくとも 1 つの純粋な Windows バージョンの redis-server は、単にBGSAVE要求を要求に置き換えますSAVE。忙しいサーバーでは、これはです:SAVE同期であり、redisはシングルスレッドであり、通常は個々の操作が非常に高速であるため、通常は気付かないという事実を単に利用しています。ただしSAVE、20 秒かかるリクエストを突然受け取った場合、redis サーバーはその 20 秒間他に何もしていません。通常約 0.3 ミリ秒の応答に依存している場合、これは大きな問題です。

Microsoft は redis-server のポートに取り組んでおり、これが現在実稼働の準備が整っている可能性がありますただし、すべてのことを考慮して、のところ、Linux サーバーでの十分にテストされた主要な実装に固執したいと思います。

ただし、アドホックな開発者が使用する場合は、win32 ビルドのいずれでも問題ありません。

于 2012-08-28T10:23:38.593 に答える