我正在开发一个带有社交网络功能的音乐应用程序。我希望使用Neo4j和Redis来驱动我的数据库。在Neo4j中,我将存储用户信息和所有其他信息(帖子、评论等),在Redis中则是缓存数据。请问是否有任何建议或见解?
简短回答:这要看情况。
较长的回答:
我假设您刚开始使用该应用程序,并希望快速了解是否值得投入(时间/金钱)。
如果您想运行查询,例如“哪些用户评论了同一首歌”,则需要将此数据放入Neo4J。一般来说,您在那里拥有的连接数据越多,您可以回答的问题就越有趣。因此,我会倾向于将数据放入Neo4j中。而且,只查询一个数据库比在多个数据库上聚合数据更容易实现。
如果您获得了足够的用户,他们产生的数据量开始影响Neo4j,则可以将实际的评论文本或帖子放入redis,并通过Neo4j引用其ID。但是到那时,您已经知道它值得做,并且这是一个相当可管理的重构和数据迁移。
依我之见,我会尝试将所有内容存储在neo4j中,使用相同的大小写。