2012-05-16 54 views
0

假設我有一些對象只需要在應用程序中創建一次,但在多個請求中進行訪問。這些對象是不可變的。做這個的最好方式是什麼?Sinatra中的應用程序數據

回答

0

將它們存儲在會話中。
如果您不想在服務器重新啓動後丟失它們,請使用數據庫(例如SQLite,它是單個文件)。

0

你想堅持你的對象。通常情況下,你可以使用Active Record或Datamapper等ORM。取決於你可以得到的東西。如果你想在沒有遷移的情況下簡單地完成某些事情,並且你可以使用mongomapper訪問MongoDB。

0

如果該對象只用了一段時間,然後將其丟棄(如果需要再次重新創建),請使用緩存機制,如memcached或redis。

如果設置這樣的服務非常繁重,並且您想要避免這種情況,並且 - 比如說 - 您正在使用Debian/Ubuntu,那麼請在/ shm設備中將您的對象保存到文件中(使用Marshaling)。

如果數據的結構很複雜,那麼按照上面的建議使用SQLite。

相關問題