繁体   English   中英

R2DBC - 它在现实中是如何工作的?

[英]R2DBC - how it works in reality?

我已经开始学习反应式范式,所以我对这个主题很陌生。 我创建了一个示例应用程序,它使用 Spring R2DBC 连接到 PostgreSQL DB。

我创建了一个 Rest Controller 来获取和保存数据库中的数据,以更好地理解一个概念。

我预计会遇到以下场景:

  1. 我正在从反应式存储库类中运行 findById 查询以查找 id,它在 DB 中尚不存在。 我订阅了返回的 Mono 对象
  2. 我正在保存具有在(1)中查询的 id 的实体
  3. 来自 (1) 的查询不断监听数据库中的变化并立即找到添加的实体

不幸的是,它不能以这种方式工作。 基本上没有 (3) 点永远不会发生,我需要从 (1) 手动触发查询以再次访问数据库。

我的问题是 - 我做错了什么还是错误地理解了反应式数据库概念?

我觉得,这里需要一些解释。 我真的很感谢你在这个问题上的帮助。

一般来说,我认为http连接和数据库连接会在执行完成后释放连接。

但是对于您这里的案例列表,在 Spring Reactive 堆栈中实现并不困难。

我使用可尾随 Mongo 文档创建了一些示例。

对于 R2dbc,您可以使用SinksProcessors来重放有效负载(保存时)并发送到客户端, 请检查此分支

你也可以使用 Postgres Notificaiton 来实现类似的功能,检查这个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM