Performance Neo4j-计算关系与存储关系的数量

Performance Neo4j-计算关系与存储关系的数量,performance,neo4j,count,notifications,graph-databases,Performance,Neo4j,Count,Notifications,Graph Databases,我觉得和Neo4j一起工作感觉很好,因为我正在建立一个社交网络,Neo4j对我来说很好。请回答以下几点: 1) 我一直在做一个决定,是将喜欢的数量存储在数据库中某个位置的帖子上(非标准化),还是每次动态计算该帖子的边数 例如,在检索“post”json数据时,对于每个需要该数据的用户,我需要在每次生成json时计算边的数量 2) 在决定通知用户喜欢或评论的最佳方式时陷入困境。 例如,我想向用户发送一个通知,告知“John和其他3人也对Cena的帖子发表了评论”。 此通知可能会随着评论数量的增加而

我觉得和Neo4j一起工作感觉很好,因为我正在建立一个社交网络,Neo4j对我来说很好。请回答以下几点:

1) 我一直在做一个决定,是将喜欢的数量存储在数据库中某个位置的帖子上(非标准化),还是每次动态计算该帖子的边数

例如,在检索“post”json数据时,对于每个需要该数据的用户,我需要在每次生成json时计算边的数量

2) 在决定通知用户喜欢或评论的最佳方式时陷入困境。 例如,我想向用户发送一个通知,告知“John和其他3人也对Cena的帖子发表了评论”。 此通知可能会随着评论数量的增加而更新。因此,如果我使用count(*)而不是将计数器存储在某个地方,那么更新通知对我很有帮助,因为我可以轻松获取“${count}您帖子上的新回复”的计数。但我担心表现

3) 我可以在neo4j中使用Redis或其他memcache吗?这会有“显著”的区别吗? 请帮我决定哪个更好


附言:请记住应用程序的效率和可扩展性。

马克斯·德·马齐的网站上实际上有一个关于这个主题的伟大系列。检查第一集(总共有八集)。你的大部分问题(如果不是全部的话)都在这个系列中处理。谢谢@TomGeudens,这个链接很有意义。因此,正如文档所说,getDegree是一个固定时间操作,不会影响性能。