2
我正在使用redis跟蹤我正在構建的留言板中每個主題的日常視圖。在主題模型中還有另一個字段,可以存儲一個主題的所有時間視圖。遍歷一個redis排序集以更新活動記錄表
我使用排序集來跟蹤主題視圖,因爲它使我可以輕鬆快速地顯示當前最流行的主題。
我想創建一個在午夜運行的任務 - 遍歷已排序的集合 - 將當天特定主題的視圖計數添加到主體所有時間視圖。然後,我想在更新該主題的視圖後刪除該成員。
什麼是一個優雅的方式來遍歷排序列表中的所有成員,並更新其相關(通過ID)活動記錄實體?
這是我如何添加視圖的主題:
def self.record_view(id)
REDIS.zincrby("views", 1, id)
end
這是我應得的觀看次數爲主題:
def views
REDIS.zscore("views", self.id).to_i
end
感謝您 - 有必要創建一個哈希來區分鍵和分數嗎? – someoneinomaha 2012-03-01 21:19:29
必要 - 沒有。偶數索引處的元素是鍵,奇數索引處 - 分數。雖然,客戶端庫可以做得更好,並將其轉換爲散列或至少是數組數組。 – 2012-03-01 21:23:06
再次感謝您的幫助... – someoneinomaha 2012-03-01 21:31:12