1

複数の Web サイトからのページ ビューをカウントするフラスコ アプリを作成しています。Redis と Redispy を使用することにしましたが、どのように構成するかを決めるのに苦労しています。もともと私はこのようなものを持とうとしました

redis.set("date:YYYYMMDD:site:sitename", 1)

日付またはサイト名でクエリを実行し、カウント値を表示できるようにしたいと考えています。.keys を使用して日付またはサイト名でクエリを実行しようとしましたが、REDIS ドキュメントにはキーの使用を避けるように書かれています。
それで、おそらくredisハッシュを使用できると思いました:

redis.hset("date:YYYYMMDD", "site", "sitename")
redis.hset("counter", 1)

最終的には、サイト名別、日付別、またはすべての日付のすべての値を表示することで、サイト カウンターに関するレポートを実行できるようにしたいと考えています。欲しいものを手に入れるための適切な構造が見つからないようです。

どんな提案でも大歓迎です!以前に REDIS を使用したことがありません。

4

2 に答える 2

0

incr/decrカウントするには、コマンドを使用できます

http://redis.io/commands/incr

アクセスを受け取ったら、次のようにカウンターを増やします。

  > 増分カウンター:site2:20131101
  (整数) 1
  > 増分カウンター:site1:20131103
  (整数) 1
  > 増分カウンター:site1:20131103
  (整数) 2
  > 増分カウンター:site2:20131103
  (整数) 1

カウンターを照会するときは、まずすべてのキーを取得してから、アプリ内のすべてのカウンターを合計します。

  > keys counter:site2:* # サイトによるクエリ
  1) 「カウンター:site2:20131101」
  2) 「カウンター:site2:20131103」
  > 「counter:site2:20131101」を取得
  「1」
  > 「counter:site2:20131103」を取得
  「1」
  > keys counter:*:20131103 # 日付によるクエリ
  1) 「カウンター:site1:20131103」
  2) 「カウンター:site2:20131103」
  ...
于 2013-11-03T07:49:33.037 に答える