当前位置: 首页 > 知识库问答 >
问题:

使用Redis散列存储问题/答案对

苏承载
2023-03-14
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)处理具有多个答案的问题/答案对的最佳方法是什么?

共有1个答案

有玄天
2023-03-14

你应该把它们看成3个对象--用户、问题和答案。这样,它们之间的关系就变得简单了。用户有问题,问题有答案。

现在,很容易在Redis中对此建模。

  • 对象用户、问题和答案存储在哈希中
  • 问题将包含id、text、userid、date_asked、date_modified等字段
  • 答案将包含id、text、userid、QuestionID
  • 等字段
 类似资料:
  • 我需要你的一些建议。我试图用redis和哈希(redis类型)存储一些非常有效的内存数据。有一些随机字符串列表(在rfc中平均大小是40个字符,但最大可能是255个字符)--它是文件id,例如我们有100kk的file_id列表。我们还需要每个ID的轨道2参数:download_count(int,incremented)和server_id--tiny int,redis config添加了:

  • 主要内容:问题6:“请你自我介绍一下”。,问题12:“谈一谈你的一次失败经历”问题1:你为什么想离开目前的职务? A.别的同仁认为我是老板前的红人,所以处处排挤我。 B.调薪的结果令我十分失望,完全与我的付出不成正比。 C.老板不愿授权,工作处处受限,绑手绑脚、很难做事。 D.公司营运状况不佳,大家人心惶惶。 解答:超过一半的人事主管选择C,其次为D。选择C的回答,可以显示应征者的企图心、能力强,且希望被赋予更多的职责。选择D,则是因离职原因为个人无法改变的客观外在因素,因

  • 我用这个教程来帮助我,当用户创建一个帐户时,对他们的密码进行加盐和散列,然后当用户输入密码登录时,将这些密码带回来并进行比较。 在这个图坦卡蒙中,它们有两个我想调用的函数。 和 我随后自己创建了另一个函数,它会爆炸结果,因此我可以从整个have中剥离加盐字符串。 所以当我在数据库中插入数据时,它看起来像这样 请注意,最后一列包含第三列中字符串的最后一部分。 因此,最后一步是登录时,用户将输入他们的

  • Ant Questions and Answers设计旨在帮助学生和专业人士准备各种Certification Exams和Job Interviews 。 本节提供了一个有用的样本面试问题和多项选择题(MCQ)的集合及其答案和适当的解释。 SN 问题/答案类型<!-- 1 Ant Interview Questions This section provides a huge collectio

  • Go Questions and Answers设计旨在帮助学生和专业人士准备各种Certification Exams和Job Interviews 。 本节提供了一个有用的样本面试问题和多项选择题(MCQ)的集合及其答案和适当的解释。 Sr.No 问题/答案类型 1 Go面试问题 本节提供了大量的Go面试问题,其答案隐藏在一个方框中,挑战您在发现正确答案之前先了解它们。 2 Go在线测验 本节

  • 主要内容:缓存穿透,缓存击穿,缓存雪崩在实际的业务场景中,Redis 一般和其他数据库搭配使用,用来减轻后端数据库的压力,比如和关系型数据库 MySQL 配合使用。 Redis 会把 MySQL 中经常被查询的数据缓存起来,比如热点数据,这样当用户来访问的时候,就不需要到 MySQL 中去查询了,而是直接获取 Redis 中的缓存数据,从而降低了后端数据库的读取压力。如果说用户查询的数据 Redis 没有,此时用户的查询请求就会转到