2012-04-05 37 views
0

我有提供,我是從服務提供商收到,我需要建立統計基於:保價按天統計的Redis的DB

  • 報價開始日期
  • 報價持續時間
  • 報價目的地
  • 報價

基本上它將被用來建立一個特定的目的地和持續時間的日期價格圖。

您有什麼建議將其存儲在Redis DB中的方式?

How it should look in the end

回答

1

我建議作出Sorted Set類型的鑰匙。

  • 每個是目的地和持續時間的組合,如offer:newyork:7

  • 每個構件(一鍵內部)包含該價格的得分日期的(作爲Unix time)。

在這種方式,您可以查詢特定的目標和持續時間,你事先知道(另一種選擇,部分尚可,但依賴 - 通過KEYS命令讀取可用的鍵),並獲得通過的日期排序的所有報價(ZRANGEBYSCORE ... WITHSCORES )。

+0

** Sorted Sets **的問題是**值**必須是唯一的。而且很有可能你在兩個不同的日期有兩個相同的價格。有什麼想法嗎? – Fenelon 2012-04-05 14:33:22

+0

因此切換它們,值:日期,分數:價格。但是,您需要獲取所有成員並在本地進行排序。 – 2012-04-05 15:18:54

+0

使用KEYS命令而不使用set是不好的?它會變慢嗎?即報價:ny - >報價:ny:7 - >報價:ny:7:2012-04-05 – Fenelon 2012-04-05 15:43:24