У меня есть приложение Rails 3.1, работающее на сервере mysql для хранения данных. 90% данных в приложении отлично вписываются в реляционную базу данных.рельсы с MySQL И небольшой магазин redis
Другие 10% - довольно большой хэш, который мне нужно, чтобы вытащить, изменить и вернуть обратно довольно быстро. Это довольно большой запрос в mysql, чтобы собрать все эти части данных по нескольким таблицам, но как только я его однажды, я решил, что сохраню его как хэш, и пользователь сможет взаимодействовать с хэшем и вносить изменения. Эти изменения никогда не сохраняются в mysql, поскольку mysql им не нужен.
Итак, я решил добавить redis в мое приложение для рельсов, а драгоценный камень redis-objects был рекомендован другом.
Я создал свой active_hash
модель и контроллер, как так
class ActiveHash < ActiveRecord::Base include Redis::Objects end class ActiveHashesController < ApplicationController def show #this is a big query with a bunch of merges, but simplified here as it isn't important active = Game.find(params[:id]) active_hash_in_redis = ActiveHash.new() if active_hash_in_redis.save render :json => active_hash else render :text => "didn't save" end end end
, когда я перейти к active_hashes/ид, я получаю ошибку, что нет таблицы active_hashes MySQL, который является правильным, потому что, как предполагается, быть моим redis db, как определено в модели.
Может ли кто-нибудь объяснить мне, как использовать оба dbs в моем приложении, и/или указать мне на учебник по этому поводу? Я ничего не смог найти. Является ли использование Redis-Objects неправильным способом для этого? Любые другие рекомендации?