应用程序有一个 MySQL 数据库,其中包含一个用户表。每个用户都有自己的 Redis Hash。每个用户拥有的 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 Hash 是否适合应用程序的数据类型,如果是,2)处理具有多个答案的问题/答案对的最佳方法是什么?