2012-04-04 42 views
5

我正在寻找能够保留整个基于Rails的模型存储在Redis中的东西。 Redis Objects在这里找到了https://github.com/nateware/redis-objects,但是只有当你的模型已经被ActiveRecord之类的东西所支持,并且它需要一个唯一的id生成器时才能使用。我不想制作ActiveRecord支持的模型,因为我想将所有内容直接存储到内存中,而不是存入数据库。Redis备份Rails模型

是否有工具,我可以用鼠标右键使用,现在就让我做的事情,例如下拉:

RedisBackedModel.find_by_name('foo')

,它会检索我从Redis的的RedisBackedModel?

回答

6

我之前使用过Ohm来存储几小时后过期的搜索;这很不错。我认为DataMapper也有redis adapter,尽管我从来没有用过它。这里有一些欧姆代码,我认为你在之后:

class RedisBackedModel < Ohm::Model 
    attribute :name 
    index :name 
end 

rbm = RedisBackedModel.create :name => "foo" 
rbm.id # => 1 

# Search by name: 
RedisBackedModel.find(:name => "foo") 

# Search by id (like AR-style model.get(id)): 
RedisBackedModel[1] 
+0

你用铁轨OHM吗? – 2014-01-07 12:22:42

+0

他们抱怨说:“不幸的是,我们根本不使用欧姆和铁轨(并且从未计划)。” https://github.com/soveran/ohm/issues/26 – 2014-01-07 12:23:23

+0

@PravinMishra是的,我在几年前的一个项目中使用它,当时Rails 3.0刚刚问世。它工作正常。 – 2014-01-12 00:14:00