我是Sinatra和網絡編程的新手,所以一些使用的術語可能不太正確。無論如何...緩存Sinatra中的文本文件內容
我有一個應用程序,逐行讀入.txt數組,然後當你加載index.html.erb它隨機顯示其中一行。我把內容放在一個文本文件中,而不是直接放到數組中,這樣如果我需要添加更多的數據,更容易更新,然後直接添加到數組並重新部署應用程序。我擔心的是,如果每次載入頁面時都重新創建數組並重新讀取文件。我不知道服務器端是如何工作的,或者如何檢查它。創建數組的代碼讀取:
before do
@ways ||= ['']
if @ways[1].nil?
File.open('ways.txt', 'r').each_line { |line| @ways << line }
end
end
然後我的路線:
get '/' do
@way = @ways.sample
erb :index
end
有沒有一種方法,以確保這是儘可能高效?還是應該完全以其他方式完成?根據Chrome開發工具,它可以傳輸約800b每頁的負載。
提示:隨機數組元素使用'@ ways.sample'。 –
謝謝!修訂。 – lyonsinbeta