我需要在 Redis 中存储有关教室和学生的数据。
我有类信息的哈希值,例如:
教室:0
其中 0 是教室 ID,它具有如下字段值对:
classroomName -> xx, teacherId -> yy
为了存储这些教室的学生,我有单独的集合,例如:
studentsForClassroom:0
,此集合包含该类(class)的学生 ID 数组。
按照这个设计,为了获得关于一个类(class)的所有信息,我必须首先为 classroom:0 执行一个hgetall 命令,然后为 studentsForClassroom 执行一个smembers 命令 :0.
这是正确的方法吗?有更好的解决方案吗? 学生 SET 是否有可能以某种方式嵌套在类哈希中,以便当我执行 hgetall 时,整个学生数组就填充在类数据中?
最佳答案
你做得对。 Redis 没有嵌套数据结构。
由于您的类哈希和学生集不是太大,因此可以使用 HGETALL 和 SMEMBERS,但请记住,对于更大的卷,您可能希望改用 HSCAN 和 SSCAN。
关于redis - 在 Redis 中存储链接到哈希的集合的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26077352/