3

最近、Redis の助けを借りて Web サイトのオンライン ユーザーを追跡するための 2 つのアプローチを紹介している素敵なブログ記事を見つけました。

1) スマートキーとその有効期限の設定 http://techno-weenie.net/2010/2/3/where-s-waldo-track-user-locations-with-node-js-and-redis

2) セットと交差 http://www.lukemelia.com/blog/archives/2010/01/17/redis-in-practice-whos-online/

どちらがより速いか、またその理由を判断できますか?

4

1 に答える 1

4

特定のユーザーがオンラインかどうかを知るには、最初の方法の方がはるかに高速です。単一のキーを読み取るよりも高速な方法はありません。

特定のページでユーザーを見つけることはそれほど明確ではありません (交差キーまたはワイルドカード キーのパフォーマンスに関する具体的な数値は見たことがありません)。ただし、セットがどちらの実装でもパフォーマンスの問題を引き起こすほど大きい場合、表示するのは実際的ではありません。とにかくそれらすべて。

ユーザーと友達リストを照合する場合は、おそらく最初のアプローチも使用します。複数のセットに多数のレコードがあり、それらのセットに多数のレコードがあり、維持するのが難しい。

Redis セットは、特に特定のアイテムがセット内にあるかどうかを確認するよりも、セット内のすべてのアイテムを取得することが重要な場合に、キーで実行できないことにより適しています。

于 2010-04-16T02:33:38.507 に答える