2014-02-28 85 views
0

我有一個非常簡單的PHP網站,基本上提供了一個文件夾列表,每個文件夾有幾個按鈕。目前,由於沒有太多要做,它會讀取每個頁面刷新時的文件夾內容。該列表本身不存儲在任何地方。Rails有效地維護目錄列表

現在我正在尋找存儲每個文件夾的更多信息(用戶訪問它的時間,等等)。我正在學習Rails,並希望這樣做,所以我的問題:

如何有效地讀取到Rails DB中的文件夾,而不必每次都刷新它們。

我不是要求某人爲我寫信,只是給我一些想法,我應該看的道路。

我想要避免的是必須掃描文件夾並將每個目錄與數據庫進行比較,以查看它是否存在,因爲隨着文件夾的增長,這可能會變得非常昂貴。或者那真的是最好的方式?

也許設置一個cron作業來掃描文件夾並將它們添加到獨立於Web服務器的DB上?

TL:DR - 需要關於在Rails DB中維護文件夾列表的有效方法方面的幫助。

任何幫助,非常感謝!

回答

1

根據您使用的操作系統,您可以使用目錄上的修改日期或創建日期來確定是否應該檢查數據庫的存在。保存上次檢查的日期/時間,並僅考慮自該日期/時間以來已創建或修改的目錄。

另一個選擇是讓一個守護進程運行,「監視」目錄樹,並隨時更改,更新數據庫。這可以像通過sha-1哈希運行ls -l以獲得某種簽名一樣簡單,並且在簽名更改時,運行完整的目錄樹到數據庫同步。

要在Rails中編寫守護進程,請考慮daemon-rails寶石。

+0

感謝您的信息,我想我會看看爲目錄生成一個散列並使用它。似乎它可能是最有效的方式。 – mhouston100