2014-05-03 29 views
0

我有一個簡單的rails應用程序,沒有數據庫和控制器。它使用高電壓進行路由查詢,然後使用JavaScript使用params散列獲取數據。獲取Rails應用程序中跨會話訪問的最近路徑

一個典型的URL看起來像這樣:

http://example.com/?id=37ed660aa222e61ebbbc02db 

我想搶十個的唯一URL用戶最近訪問並將它們傳遞到一個視圖。請注意,我說用戶,最好跨併發會話。

有沒有辦法使用ActiveSupport :: Notifications或Production.log來檢索?任何例子,包括代碼應該最好的地方,將不勝感激!

回答

0

我認爲Redis會非常適合這個。它是NoSQL鍵值存儲數據庫之一,但是它對值部分的支持是一個有序列表,隊列等,它們可以很容易地將唯一的URL在訪問時存儲在FIFO列表中,限制該列表的大小(在列表的「舊」末尾丟棄網址),並檢索最近的N個網址傳遞給您的視圖。您的列表應該保持足夠小,以至於它們都會保留在內存中並且速度非常快。你也許可以用memcached或mongo或其他的來做到這一點;如果解決方案將存儲的值保存在內存中,我認爲最好。

如果你還沒有使用redis(或類似的),它可能看起來像矯枉過正設置和維護這個功能。但是,您也可以通過將其用於緩存,後臺作業處理(Resque/Sidekiq)以及您的應用程序中的其他內容來支付自己的費用。

+0

謝謝!這是一個很好的領導!我以前從來沒有使用過Redis,但看起來它可以做到這一點! –

相關問題