3
我正在研究Rails應用程序中的緩存層,並且無法緩存原始DataMapper對象。他們似乎有很多東西,使編組失敗(我得到一個關於元帥無法序列化Proc對象的錯誤)。Rails中DataMapper對象的替代序列化
所以我正在考慮編寫我自己的預序列化和後緩存的反序列化方法。具體來說,我將把DataMapper對象變成這樣的元組列表:
o = Foo.get(1234)
as_list = o.model.properties.map { |p| [p.name, o.send(p.name)] }
然後緩存該列表。
我的問題是:我如何重建DataMapper對象的方式使我可以像使用正常的DataMapper查詢構造一樣使用它?
我的天真方法Foo.new(foo=bar, goo=baz)
似乎並沒有把它連接到所有的外鍵和東西。
對於它的價值,從1.0'ish我沒有任何結構問題,曾經用馬歇爾#轉儲困擾DM。但是,我發現複雜的對象可能會轉儲到> 1-2MB(即使在LZO壓縮之後),因此緩存仍然是非啓動器。我非常期待您提出的任何建議。如果你稍後提出任何可以遠程操作的方法,請自己回答。 – 2011-04-26 19:46:09