ruby-on-rails – 如何将rails的activerecord对象保存到redis

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何将rails的activerecord对象保存到redis前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用redis作为我的Web缓存,我想直接将这些activerecord对象存储到redis,但是使用 redis-rb我收到一个错误.

似乎我无法序列化它或一些什么.有没有办法为我做这个?
我必须将其序列化为json格式吗?

哪种序列化格式是最有效的?

解决方法

Redis存储字符串(和一些其他数据结构的字符串);所以你可以序列化到Redis值,但是你只要最终得到一个字符串.

JSON可能是开始的最好的地方,因为它是精益的,而不是过分脆弱,适用于实时升级模式,并且是原位可读的.之后,您可以根据需要增加更多的复杂性来满足目标,例如压缩. #to_json和#from_json已经在ActiveRecord上,如果您要使用JSON(相对而言,YAJL或其ilk应该不会太慢).如果您进入S& M,那么#to_xml也在那里.

原始编组也可以工作,但偶尔会出现可怕的错误(在LZO压缩之后,我已经将封送的对象超过2MB,JSON中只有几个K).

如果这真的是您的瓶颈,您将需要使用自己的对象和数据模式,为您的目标(例如,写入速度,读取速度或存储大小)运行自己的效率测试.

猜你在找的Ruby相关文章