【问题标题】:best way to store a set linked to a hash in Redis?在 Redis 中存储链接到哈希的集合的最佳方法是什么?
【发布时间】:2014-11-22 12:21:43
【问题描述】:

我需要在 Redis 中存储有关教室和学生的数据。

我有课堂信息的哈希值,例如: classroom:0 其中 0 是教室 ID,它具有如下字段值对:

classroomName -> xx, teacherId -> yy

为了存储这些教室的学生,我有单独的集合,例如:

studentsForClassroom:0,此集合包含该班级的学生 ID 数组。

按照这个设计,为了获得一个班级的所有信息,我必须首先为教室:0 执行一个 hgetall 命令,然后为 studentsForClassroom 执行一个 smembers 命令 :0。

这是正确的方法吗?有更好的解决方案吗? 学生 SET 是否有可能以某种方式嵌套在课堂哈希中,这样当我执行 hgetall 时,整个学生数组就填充在课堂数据中?

【问题讨论】:

    标签: redis node-redis nosql


    【解决方案1】:

    你做得对。 Redis 没有嵌套的数据结构。

    由于您的课堂哈希和学生集不是太大,使用 HGETALL 和 SMEMBERS 是可以的,但请记住,对于较大的卷,您可能希望使用 HSCAN 和 SSCAN。

    【讨论】:

      【解决方案2】:

      您不必担心这一点。 Redis 速度非常快,这是使用它的常用方式:发出许多简单的请求。此外,node-redis 自动管道命令。 如果您确实有性能问题,请确保您安装了hiredis。 Node_redis 会用到它。

      【讨论】:

        猜你喜欢
        • 2012-06-23
        • 2022-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-26
        • 2022-09-27
        • 1970-01-01
        • 2010-10-11
        相关资源
        最近更新 更多