我正在使用spring和Neo4j 2.0创建一个rest api作为数据存储。 与服务器的连接是:
<bean id="graphDatabaseService" class="org.springframework.data.neo4j.rest.SpringRestGraphDatabase">
<constructor-arg value="http://localhost:7474/db/data/" />
</bean>
<neo4j:config graphDatabaseService="graphDatabaseService" />
查询速度很快,但插入,更新和删除速度非常慢。插入代码如下:
域模型
@ NodeEntity
public class User extends Node {
@ Indexed ( INDEXTYPE = IndexType.FULLTEXT , indexName = " user_name ") private String name ;
@ Relatedto ( type = " knows" ) private Set <User> friends ;
private String password;
private String token;
Profile private profile;
private float affection;
public User () {
}
// getters and setters
}
服务层
user=new User ();
user.setName(name);
user.setPassword(password);
user.setToken();
profile=new Profile();
profile.setEmail(email);
user.setProfile(profile);
userRepository.save(user);
日志如下:
19:38:58,026 INFO AuditLogger : 16 - == > before create org.project.service.UserService
19:38:59,781 INFO AuditLogger : 21 - == > after create org.project.service.UserService
对于所有类型的插入和删除都会重复此操作,尤其是对于具有多个关系的节点,尽管这些节点未明确收费。删除有时需要几秒钟。查询速度与预期一样快。
使用嵌入式数据库的相同操作非常快
任何提示?
提前致谢
答案 0 :(得分:0)
我做了同样的事情。 我没有支付许可费(也许剩下的api只是因为他们想要慢一些......) 实际上,使用嵌入式数据库它非常快,因为你得到了真正的连接而你没有通过HTTP协议使用它......
所以,在这种情况下,你并不孤单,也许你可以直接问他们关于其余的api性能......如果他们能够实现批量解决方案,那就太好了......
祝你好运!