アプリケーションには、ユーザーのテーブルを含む MySQL データベースがあります。各ユーザーには独自の Redis ハッシュがあります。各ユーザー所有の Redis ハッシュには、質問と回答の文字列のキーと値のペアが含まれています。例 (Ruby):
user = User.find(1)
question = "What colour is the sky?"
answer = "Blue"
user_hash = Redis::HashKey.new(user.id)
user_hash[question] = answer
user_hash[question] # returns answer
ユーザーは、質問ごとに複数の回答を保存する機能が必要になります。たとえば、次のようになります。
question = "What colour is the sky?"
answers = ["Blue", "Grey", "Red"]
また、アプリケーションは、特定の単語を含むユーザーの質問文字列の検索など、各ユーザー ハッシュを範囲とする質問/回答のグループに対してメソッドを実行します。
1) この時点で、Redis ハッシュはアプリケーションに適切なデータ型ですか? また、そうである場合、2) 複数の回答を持つ質問/回答のペアを処理する最善の方法は何ですか?