我试图实现的是一个id表。基本上它具有结构(user_id,lecturer_id)user_id引用我的用户表中的主键,lecturer_id引用我的Lecturer表的主键。按值查找键
我试图在redis中实现这个功能,但是如果我将键设置为用户的主ID,当我尝试运行一个查询如时,由于讲师不是关键所以获取所有记录与讲师ID = 5,但值我将无法在O(1)时间达到它。
如何构建像上面提到的id表或Redis不支持的结构?
我试图实现的是一个id表。基本上它具有结构(user_id,lecturer_id)user_id引用我的用户表中的主键,lecturer_id引用我的Lecturer表的主键。按值查找键
我试图在redis中实现这个功能,但是如果我将键设置为用户的主ID,当我尝试运行一个查询如时,由于讲师不是关键所以获取所有记录与讲师ID = 5,但值我将无法在O(1)时间达到它。
如何构建像上面提到的id表或Redis不支持的结构?
你们中的一个快速学习与Redis的工作时的事情是,你能设计出在你的访问需求,你的数据结构,特别是当它涉及到的关系(这不是一个关系数据库毕竟)
有没有办法像你已经注意到的那样用O(1)的时间复杂度来搜索“值”,但是有办法来处理你使用redis描述的内容。以下是我推荐的内容:
这似乎是复制关系的数据,因为您的用户数据必须存储在演讲ID,你的演讲数据将存储的用户ID,但是这是(微小)的代价,如果一个人在像redis这样的非关系数据存储中建立关系。从实际角度来看,这很有效。内存很少成为小数据集的瓶颈(想想成千上万个ID)。
为了获得更好的画面如何使用Redis的模型与应用的关系人,我建议你阅读Design and implementation of a simple Twitter clone和Lamernews的源代码,这两者都是由Redis的作者Salvatore Sanfilippo写。
在Redis的文件最近添加的页面的下提供有关[与Redis的副索引(http://redis.io/topics/indexes)的详细信息,并且覆盖此情况下[简单的数值索引与有序集合]( http://redis.io/topics/indexes#simple-numerical-indexes-with-sorted-sets)部分。 –