図2は、Redisのオンラインユーザーを追跡するためのアプローチ。どちらが速いのですか?
-
27-09-2019 - |
質問
最近、私はRedisのの助けを借りてウェブサイトのオンラインユーザーを追跡するための2つのアプローチを提示する素敵なブログ記事を見つけます。
1)スマートキーとその有効期限を設定します http://techno-weenie.net/2010/2/3/where-s-waldo-track-user-locations-with-node-js-and-redisする
2)のセットSと交差 のhttp://www.lukemelia .COM /ブログ/アーカイブ/ 2010/01/17 / Redisの-に-練習 - 玉葉-オンライン/ の
あなたは1が速く、あるべき判断することができますなぜ?
解決
特定のユーザがオンラインであるかどうかを知るために、第1の方法ははるかに高速になります - 。何も速く、単一のキーを読むよりはありません。
特定のページにユーザーを見つけることが明らかと(私は交差点やワイルドカードキーのいずれかの性能にハードの数字を見ていない)ではないが、セットはどちらかの実装では、原因のパフォーマンスの問題に大きな十分であれば、それはないですすべて、とにかくそれらを表示するのは実用的でます。
それらのセットが多数を持っている場合でも、数百GET操作(リストの全員のステータスをチェック)複数のセットに交差点をアウトパフォームする必要があります - 友達にユーザーをマッチングするための私はおそらくも、最初のアプローチとなるだろうリスト記録し、維持するのが難しいます。
Redisのセットは、セット内のすべてのアイテムを取得して、特定のアイテムがセットであるかどうかをチェックするよりも重要である場合は特に、キーで行うことができないものに適しています。
所属していません StackOverflow