1

私は次のredisキーを持っています:

REDIS.del "weekly:activity"
REDIS.del "2013-02-27:activity"
REDIS.del "2013-02-28:activity"

REDIS.sadd "2013-02-27:activity", 1
REDIS.sadd "2013-02-27:activity", 2
REDIS.sadd "2013-02-27:activity", 3
REDIS.sadd "2013-02-28:activity", 4
REDIS.sadd "2013-02-28:activity", 1
REDIS.sadd "2013-02-28:activity", 1
REDIS.sadd "2013-02-28:activity", 6

REDIS.sunionstore "weekly:activity", "2013-02-27:activity", "2013-02-28:activity"
REDIS.scard "weekly:activity"

今週の最初の日を認識し、今週の統計を合計するための最良の方法はどのようになりますか。

Redisを使用してそれを行うことはできますか?それともRubyでやるべきですか?

4

1 に答える 1

1

定期的に合計するのではなく、より多くのデータを収集し、週と月のキーを作成することをお勧めします。

したがって、ユーザーがログインするたびに、次のことを行います。

REDIS.incr "{today}:activity"
REDIS.incr "{this week}:weekly:activity"
REDIS.incr "{this month}:monthly:activity"

このように、報告する必要はありません。this weekとを計算するのはあなた次第ですthis month

于 2013-02-27T00:54:26.903 に答える