Redis はクリックとビューを実現します
事業内容
CMS 記事ビュー (読み込まれたタイトル数)、クリック統計 (クリックされた記事数)
以下は私が設計した統計ビジネスです。主なテクノロジーは Redis です。 nodejs、redis はデータベースの負荷を軽減するためにクリック キャッシュを適用します。nodejs は非同期のノンブロッキング メカニズムを通じて CMS ビジネス ロジックと統計関数の差別化を実現します。
パラメータ cateid (カテゴリ ID)、articleid (記事 ID)、sourceip ( request source ip) )
1. ストレージ戦略
1. 時間粒度によるレコード
VALUE
時間
1 10
cateid_arvicleid_t . ソースは
HASH
KEY VALUE に分割されます。
彼の河南 10
cateid_arvicleid_p 。. <.>.
SHANDONG 230
2. データ同期メカニズム
現在は、Linux プラン タスクを介したデータベースへの Redis データの自動有効期限
この解決策について考えています。データがデータベースに入力された後に期限切れのキャッシュが確実にクリアされるように、データ同期メカニズムの後半で実行する必要があります。同期が毎日 0 時に実行されることを考慮すると、redis キャッシュを次のように設定する必要があります。 24 時間強
オプション 2 データベース同期メカニズムを通じて同時にクリアします
このソリューションは同期とキャッシュ クリーニングを組み合わせ、Redis の有効期限メカニズムを放棄します
専門家に期待します間違いを指摘して最適化できます
上記の Redis ストレージ メカニズムは、10,000 人のオンライン ユーザーと 1,000 の同時実行に基づくメモリ負荷に対応できますか?
同期メカニズムとキャッシュ有効期限のメカニズムについて、より良い解決策はありますか?
ありがとうございます
------解決策----------------------
KEY は次のように設定するのが最適です2014_10_30. cateid_arvicleid_t フォーム オプション 2: 毎朝 2 ~ 4 時に同期を実行します。 1. 同期スクリプトが失敗する可能性があります。が大きいため、昨日の 0:00 データが今日の 0:00 カバレッジになります
1 秒間に 10W のリクエストを要求する Redis は、1000 の同時実行を恐れていません