我正在寻找可以保存整个基于Rails的模型存储在Redis中的东西。这里有Redis对象https://github.com/nateware/redis-objects,但只有当你的模型已经被像ActiveRecord这样的东西支持并且它需要一个唯一的id生成器时才能使用。我不想创建一个ActiveRecord支持的模型,因为我想将所有内容直接保存到内存而不是数据库中。
我现在可以使用的工具是否有用,以便让我做以下事情:
RedisBackedModel.find_by_name('foo')
并且它会从Redis中找回RedisBackedModel?
答案 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]