我想在 Redis 中保存一个大图,并尝试使用 RedisGraph 来完成此操作。为了对此进行测试,我首先创建了一个测试图来检查性能特征。 就我们需要的目的而言,该图相当小。
- 顶点:约 350 万
- 边:约 1800 万
这对于我们的目的来说非常有限,我们需要能够将其增加到单个数据库中的数百或数百万条边。 在任何情况下,我都在检查空间和性能要求,但在仅加载顶点并看到以下性能后就停止了:
GRAPH.QUERY gid 'MATCH (t:token {token: "some-string"}) RETURN t'
仅此检索就超过 300 毫秒,这是绝对不能接受的。
我是否错过了提高检索性能的明显方法,或者这是目前 RedisGraph 的限制?
谢谢
最佳答案
添加索引会在匹配时加快很多速度。
CREATE INDEX ON :token(token)
根据我的调查,我认为必须至少存在一个项目实例才能创建索引,但我没有对提前创建索引然后添加大部分新节点的额外开销进行任何计算,而不是在所有项目都在树中并且可以对它们进行整体索引之后。
关于performance - 优化 Redis-Graph 查询性能(匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53791419/