php - 沙发和mysql之间自动同步数据
问题描述
我需要为已经用 apache、mysql 和 php 开发的 web 应用程序开发离线应用程序。我刚刚发现我们可以使用 couch 和 pouch db 开发离线应用程序。
但我认为我需要将数据从 mysql 自动同步到 couch db(以及 couch 到 mysql )。据我了解,我可以编写 php 代码来从 mysql 读取数据并将数据放入 couch db (以及 couchdb 到 mysql )。但我不确定我们如何保持沙发数据库和 mysql 数据的更新。(我的意思是在一端发生更改时自动同步数据)。
任何人都可以向我推荐工具或任何东西来找出自动同步数据的方法吗?
解决方案
这种同步没有通用的解决方案。您应该为此编写自己的代码。
您应该编写一个映射机制,将您的关系数据模型转换为文档,反之亦然。
在 MySQL 中,您需要一种更改检测机制来确定在每个同步周期后应该传输到 CouchDB 的数据(例如,使用时间戳作为检查点),将数据转换为 json 文档,然后将其与 CouchDB 内容保存/合并。
在 CouchDB 中,您可以使用 _changes 端点监听文档更改,并通过将每个更改转换为 DML 操作将其传输到 MySQL。
所有这些都取决于您的用例,并且可能难以编写通用的集成机制。
推荐阅读
- .htaccess - URL重写不断重定向回xampp主页
- swift - 当 HStack 间距为负时,SwiftUI macOS ScrollView 崩溃
- r - 在编写函数时存储一个对象以供以后使用
- java - 为什么“-XX:+UseLWPSynchronization”会对 Windows 操作系统上的戳记产生负面影响?
- python - 当可调用对象是生成器时,为什么 iter(v,w) 返回一个类?
- javascript - 上下文 API,如何不使用类?
- ffmpeg - 使用 ffmpeg 或 gstreamer 将 RTP (OPUS) 流转换为 HLS (AAC) 流
- r - R中聚合结果的滚动平均值
- c++ - Qt:子对话框随父对话框移动(无延迟)
- firebase - 有条件地从 ListView.builder 渲染小部件