2012-04-04 34 views
5

Tôi đang tìm một thứ mà tôi có thể lưu giữ toàn bộ Mô hình dựa trên Rails được lưu trữ trong Redis. Có đối tượng Redis được tìm thấy ở đây https://github.com/nateware/redis-objects nhưng chỉ hoạt động khi mô hình của bạn đã được hỗ trợ bởi một cái gì đó như ActiveRecord và nó đòi hỏi một trình tạo id duy nhất. Tôi không muốn tạo một mô hình được hỗ trợ ActiveRecord, vì tôi muốn duy trì mọi thứ trực tiếp vào bộ nhớ và không phải vào cơ sở dữ liệu.Redis backed Rails model

Có một thả trong công cụ mà tôi có thể sử dụng ngay bây giờ mà sẽ cho phép tôi làm những việc như:

RedisBackedModel.find_by_name('foo')

và nó sẽ lấy cho tôi những RedisBackedModel từ Redis?

Trả lời

6

Tôi đã sử dụng Ohm trước khi lưu trữ các tìm kiếm hết hạn sau một vài giờ; nó khá đẹp. Tôi nghĩ rằng DataMapper cũng có một redis adapter, mặc dù tôi chưa bao giờ sử dụng nó. Dưới đây là một số mã Ohm cho những gì tôi nghĩ bạn đang theo dõi:

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

Bạn đã sử dụng OHM với đường ray chưa? –

+0

Họ đang phàn nàn "Thật không may, chúng tôi không sử dụng ohm với đường ray ở tất cả (và không bao giờ có kế hoạch)". https://github.com/soveran/ohm/issues/26 –

+0

@PravinMishra Có, tôi đã sử dụng nó trên một dự án cách đây vài năm khi Rails 3.0 vừa mới ra mắt. Nó hoạt động tốt. –

Các vấn đề liên quan