Redis支持Rails模型

时间:2012-04-04 01:57:35

标签: ruby-on-rails ruby redis

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

我现在可以使用的工具是否有用,以便让我做以下事情:

RedisBackedModel.find_by_name('foo')

并且它会从Redis中找回RedisBackedModel?

1 个答案:

答案 0 :(得分: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]