2014-02-24 47 views
0

是否可以將複雜對象(即ActiveRecords)存儲爲像redis或memcached這樣的數據庫而無需執行YAML :: load/YAML :: dump?將複雜對象存儲在redis或memcached中(ruby)

我所尋找的是類似這 一)在線程之間 b共享的全局變量)重新啓動我的網絡服務器(可選的)

的事情要做的是創建時,不刷新一個存儲幾種方法結果的緩存。目前即時通訊使用$全局變量,但我擔心使用多線程網絡服務器時會發生什麼。

這個項目的代碼可以在這裏找到:

https://github.com/florianeck/3d_cache/blob/master/lib/three_d/class_method_cache.rb

我很高興幾乎所有的意見!

+0

[在Rails應用程序中將HASH保存到Redis]可能的重複(http://stackoverflow.com/questions/9832124/saving-a-hash-to-redis-on-a-rails-app) –

+0

否,它不...我沒有散列數組等問題...即時通訊談論存儲數組與例如600 ActiceRecord對象... 如果使用它的YAML :: dump/YAML :: load,性能是可怕的...當我嘗試通過緩存這些數據來加快速度時,沒有benfit –

+0

您需要序列化數組,是那些'YAML'方法在Ruby中這樣做的方法嗎?或者您可以修改代碼並充分利用Redis結構。 – Niloct

回答

2

我試着用元帥代替YAML來產生一個性能,我可以處理dumpig數據,所以我會試試Marshal + Redis來解決這個問題!