有没有办法将一些东西异步插入到 mongodb 中?
我知道 mongodb 在大多数情况下都相当快,但我想也许我可以通过在给出命令后立即返回来节省几毫秒。
它适用于连接到服务器以向 mongodb 发送插入内容的命令的那些用例。您希望在命令发出后返回到客户端,而不必等待来自 mongodb 的响应。
我阅读了文档:http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/
好像只是异步读取,没有异步插入。
最佳答案
Spring Data MongoDB documentation仅显示在查询方法上使用 @Async
注释的示例,但可以在每个方法上使用它。
引用本文档:
Repository queries can be executed asynchronously using Spring’s asynchronous method execution capability. This means the method will return immediately upon invocation and the actual query execution will occur in a task that has been submitted to a Spring TaskExecutor.
方法的异步调用不是 Spring Data 关注的问题,而是 Spring Core 关注的问题,因此您可以引用 Spring framework documentation .
简单地说,你只需要在你想要的方法上添加@Async
注解,并在Spring配置中配置一个合适的任务执行器。示例 XML 配置为:
<task:annotation-driven executor="myExecutor" />
<task:executor id="myExecutor" pool-size="5"/>
关于Java:异步 MongoTemplate/MongoOperation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464411/