2012-04-04 5 views
5

Ich bin auf der Suche nach etwas, wo ich ein ganzes Rails-basiertes Model in Redis gespeichert halten kann. Es gibt Redis-Objekte, die hier gefunden werden https://github.com/nateware/redis-objects, aber das funktioniert nur, wenn Ihr Modell bereits von etwas wie ActiveRecord unterstützt wird und es einen eindeutigen ID-Generator benötigt. Ich möchte kein ActiveRecord-unterstütztes Modell erstellen, da ich alles direkt im Speicher und nicht in der Datenbank speichern möchte.Redis gesichert Rails Modell

Gibt es einen Tropfen auf Werkzeug, das ich jetzt nutzen kann, dass du mich Dinge tun lassen wie:

RedisBackedModel.find_by_name('foo')

und es wird mir die RedisBackedModel von Redis abrufen?

Antwort

6

Ich habe Ohm zuvor für die Speicherung von Suchen verwendet, die nach ein paar Stunden ablaufen; es ist ziemlich nett. Ich denke DataMapper hat auch eine redis adapter, obwohl ich es nie benutzt habe. Hier ist ein Ohm-Code für was ich denke, du bist auf der Suche:

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

Haben Sie OHM mit Schienen verwendet? –

+0

Sie beschweren sich "Leider verwenden wir ohm überhaupt nicht mit Schienen (und planen es nie)." https://github.com/suveran/ohm/issues/26 –

+0

@PravinMishra Ja, ich habe es vor ein paar Jahren bei einem Projekt verwendet, als Rails 3.0 gerade herausgekommen war. Es funktioniert gut. –