ホームページ  >  記事  >  バックエンド開発  >  Redis を使用してメッセージ コンテンツを保存する掲示板で、1 時間あたりのメッセージ数をカウントするにはどうすればよいですか?

Redis を使用してメッセージ コンテンツを保存する掲示板で、1 時間あたりのメッセージ数をカウントするにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-08-18 09:16:081264ブラウズ

私のアイデアは、各メッセージをハッシュに保存し、add_timestamp フィールドを使用してメッセージのタイムスタンプを記録することですが、時間ごとのハッシュのタイムスタンプ フィールドに対してグループ化操作を実行する方法がわかりません。 redis、または他に何か良い方法はありますか?

これらのメッセージは内容が短いものの、量と頻度が非常に多いため、mysql に保存するつもりはありません。 BAT のような Web サイトには、1 時間あたりに送信された作業指示の数や、さまざまな期間で 1 秒あたりの売上高が非常に高い製品の売上をカウントするために使用される、タオバオの共同購入統計システムなどの作業指示処理および統計システムがあることがわかります。 I 彼らのニーズはおそらく彼らと似ています。

返信内容:

私のアイデアは、各メッセージをハッシュに保存し、add_timestamp フィールドを使用してメッセージのタイムスタンプを記録することですが、時間ごとのハッシュのタイムスタンプ フィールドに対してグループ化操作を実行する方法がわかりません。 redis、または他に何か良い方法はありますか?

これらのメッセージは内容が短いものの、量と頻度が非常に多いため、mysql に保存するつもりはありません。 BAT のような Web サイトには、1 時間あたりに送信された作業指示の数や、さまざまな期間で 1 秒あたりの売上高が非常に高い製品の売上をカウントするために使用される、タオバオの共同購入統計システムなどの作業指示処理および統計システムがあることがわかります。 I 彼らのニーズはおそらく彼らと似ています。


Redis に保存できますが、結局のところ、Redis は限られたメモリ容量しか使用しませんので、容量の問題を考慮することをお勧めします。 redis を読み取るのに比較的新しく、頻繁にアクセスされる mongodb や hbase などの nosql へのバッチ同期を検討できます。古いメッセージは nosql を読んでおり、アクセス数が減少しています

1 時間あたりのメッセージ数については、redis カウンターを使用してカウントします。キーは 16.8.13-1、つまり 8 月 13 日の最初の 1 時間を意味し、値はメッセージ数です

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。