我在python中使用网络爬虫(Scrapy)来连续下载数据(单词),并通过py2neo实时将单词作为节点保存到neo4j中。 我的代码看起来像:
graph = Graph("http://localhost:7474/db/data/")
def create(graph,word):
node=graph.merge_one("WORD","name",word)
return node
我的网络蜘蛛每次得到一个单词时都会调用此创建函数。但是,当我的蜘蛛抓取网页时,我发现Neo4j的Jave内存不断增加。因为我的蜘蛛会运行数周,我担心有一天会有记忆力不足。我只是想每次都创建一个节点,之后不再使用这个节点,为什么Java内存会不断增加?我认为创建的节点对象始终在Java中存活,但是如何释放这些不必要的对象?那么有什么方法可以保持Java内存不增加?
提前致谢
答案 0 :(得分:0)
对不起。
我刚刚发现当Java内存达到某个值时,它会自动减少并再次增加。对不起这个问题,我是neo4j和Java的新手