Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Neo4j+;雷迪斯?好还是坏?_Database_Redis_Neo4j - Fatal编程技术网

Database Neo4j+;雷迪斯?好还是坏?

Database Neo4j+;雷迪斯?好还是坏?,database,redis,neo4j,Database,Redis,Neo4j,我正在制作一款具有社交网络功能的音乐应用程序。我希望用Neo4j和Redis为我的数据库供电。在Neo4j中,我将在redis中存储用户信息和所有其他信息(帖子、评论等)。有人对此有什么建议或见解吗 Neo4j是一个图形数据库。但是,它不支持分片(水平分区)。使用Neo4j的好处是,您可以使用Neo4j查询语言轻松地存储图形数据结构和运行图形算法。这可能有助于分析某些社交网络属性。糟糕的是,因为Neo4j不支持分片,所以数据库的容量仅限于单个节点。当数据大小增加时,其性能可能会受到影响 Redi

我正在制作一款具有社交网络功能的音乐应用程序。我希望用Neo4j和Redis为我的数据库供电。在Neo4j中,我将在redis中存储用户信息和所有其他信息(帖子、评论等)。有人对此有什么建议或见解吗

Neo4j是一个图形数据库。但是,它不支持分片(水平分区)。使用Neo4j的好处是,您可以使用Neo4j查询语言轻松地存储图形数据结构和运行图形算法。这可能有助于分析某些社交网络属性。糟糕的是,因为Neo4j不支持分片,所以数据库的容量仅限于单个节点。当数据大小增加时,其性能可能会受到影响


Redis对于缓存数据总是很有用的,这可能是一个不错的选择。

简短回答:这取决于具体情况

详细回答:

我假设你刚刚开始使用这个应用程序,如果你想投资(时间/金钱)的话,你希望得到快速反馈

如果您想运行诸如“哪些用户评论了同一首歌”之类的查询,您需要将这些数据放入Neo4J中。一般来说,你在那里拥有的关联数据越多,你能回答的问题就越有趣。因此,我在将数据放入Neo4j方面会犯错误。此外,仅查询一个数据库比在多个数据库上聚合数据更容易实现


如果你有足够的用户,他们产生的数据量开始影响Neo4j,你可以将实际的评论文本或帖子放到redis中,并通过Neo4j的id引用它。但是到那时,你已经知道这是值得做的,这是一个相当容易管理的重构和数据迁移。

IMHO,我将尝试在相同的情况下在neo4j中存储所有信息。

谢谢,我想我将在每个节点中存储所有用户信息,所有其他信息将在redis数据库中。你的问题太广泛了。真的,你有什么问题?