2014-02-24 130 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来解决这个问题!