[英]Friends of friends use case - Redis vs a Graph Databse
我建立了一个小型社交网络,作为学校的一部分。 我们的下一个任务是在项目中实现一个使用非关系数据库的功能。 我们被建议去Redis或ElasticSearch。
我很清楚,我可以使用ElasticSearch根据他们的名字等来查找人和组。
但目前我更感兴趣的是建立一个潜在的朋友查找器,根据两个用户的共同朋友和他们所属的团体建议朋友。
我的问题是:这对Redis来说是一个很好的用例,还是将Graph数据库用于这样的事情要好得多?
这就是我想象的方式:
我有一组存储在redis中的名为“users”的注册用户
对于每个用户,我有一个跟踪他们的朋友的Set,例如“user:1:friends”
假设我不是朋友的用户会将我的一个朋友添加到他们的朋友列表中。 当发生这种情况时,我会带走我朋友的所有朋友,并检查我的朋友新朋友是否属于每一组。 如果没有,那么我会在我的朋友朋友的潜在朋友的集合中增加分配给他的id的分数,这些朋友不是新朋友的朋友。
总而言之,这对我来说似乎很多工作,这就是为什么我不确定这甚至是一个好主意。 再说一次 - 图形数据库对于这样的人来说会好得多吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.