6

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

是否有一个我现在可以使用的工具,可以让我执行以下操作:

RedisBackedModel.find_by_name('foo')

它会从 Redis 中检索 RedisBackedModel 吗?

4

2 回答 2

7

我以前使用Ohm来存储几个小时后过期的搜索;这很不错。我认为 DataMapper 也有一个redis 适配器,尽管我从未使用过它。这是我认为您所追求的一些欧姆代码:

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]
于 2012-04-04T03:05:11.020 回答
0

我认为莫迪斯正是这样做的。

于 2022-01-12T17:34:56.307 回答