我应该保留远程数据库的本地副本吗?

2024-05-12

我正在开发一个应用程序,基本上允许人们创建、加入和管理其他人的群组。群组内的人也可以互相发送消息。

我一直在想哪条路会更好:

  1. 保留包含所有信息的远程数据库,包括发送给用户和从用户发送的消息。并让应用程序在每次需要信息时查询服务器。甚至是它以前见过的信息。
  2. 保留包含所有信息的远程数据库,包括发送给用户和从用户发送的消息。还要保留远程数据库的本地副本,并使其与远程数据库保持同步。每当应用程序需要查询信息时,它都会执行查询以查看本地表是否是最新的。如果不是最新的,它会更新表并在本地表上运行查询。这样,它将保留本地副本,并且当远程表没有更新时,应用程序将进行快速查询。

    • 通常使用移动应用程序和远程数据库做什么?
    • 如果我只做第一,这会是“不好的做法”吗?

从我的角度来看,在大多数情况下,移动设备中的数据库只是真实数据库(即服务器中的数据库)的缓存。因此,我的建议是将需要与服务器同步的所有数据保留在本地。这允许您即使在没有连接的情况下也可以显示信息,并在信息更新时向用户显示某些内容。

此外,这种方法使得本地数据易失且没有风险,因为它存储在服务器中。所以:

  • 所有信息都在服务器中
  • 通过后台进程(服务、线程、intentservice,任何最适合您的进程),您可以将此信息与本地数据库同步
  • UI 始终显示来自本地数据库的信息

当然,这是一个非常通用的方法,需要针对具体情况进行检查,因为不同的情况可能需要不同的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该保留远程数据库的本地副本吗? 的相关文章

随机推荐

  • 如何使用Python中字符串变量中存储的证书打开ssl套接字

    在Python中 ssl wrap socket可以从文件中读取证书 ssl wrap socket需要证书作为文件路径 如何使用从字符串变量读取的证书启动 SSL 连接 我的主机环境不允许写入文件 并且临时文件模块不起作用我正在使用Pyt
  • 使用 SSL 设置 .Net IBM.XMS 客户端

    我必须创建一个客户端来侦听队列上的消息 正在使用 SSL 我正在 dot net 中进行开发 我浏览了数百页的文档和论坛 找到了一些清晰简洁的内容 但看起来事实并非如此 我有一个 jks 并且我能够 telnet 到正在发布队列的服务器 下
  • 对于简单查询,SNIReadSync 的执行时间为 120-500 毫秒。我要寻找什么?

    我正在对 SQL Server 2005 执行一个简单的查询 protected static void InitConnection IDbCommand cmd cmd CommandText set transaction isola
  • SVG 图标像素对齐?

    在此图像中 左侧 黑色 垃圾桶是图标字体 它的字体大小是 16px 这使得图标在 100 的时间里看起来都很清晰 两个蓝色垃圾桶是 SVG 它们具有完全相同的标记 其中之一happened一个是像素对齐的 另一个不是 我怎样才能强制我的 S
  • 使用带有图像的 C# 代码生成 pdf 文件的大小限制是多少?

    我正在使用 Web 应用程序使用 C 代码生成 PDF 文件 PDF 文件包含 tiff 图像 如果包含图像的文件夹大小超过 1GB 则浏览器将自动关闭 使用 C 代码生成 PDF 文件的图像大小限制是多少 您问题的答案取决于三个参数 PD
  • 简单的客户端和服务器[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 可以引导我找到一个链接或程序 以便在 Linux 上运行简单的客户端和服务器 C 或 C 代码 要求是应
  • Ubuntu 16.04 - Apache 2.4.18 - 请求 URI 太长

    我试图从 Google 图片搜索结果中保存图像 但是当我在查询字符串参数中发送图像的 src 时 会出现以下错误 Request URI Too Long The requested URL s length exceeds the cap
  • Android、AdMob:AdMob 广告刷新会破坏帧速率

    我正在开发一款游戏 并且进展顺利 不过 我确实对 AdMob 广告刷新有一些疑问 每次刷新广告或绘制广告的不同方面时 我的帧速率都会急剧下降 几乎使游戏无法玩 这是我用于加载广告的内容 ad new AdView this AdSize B
  • 无法使用 django-mssql 提供程序

    有谁知道如何使用 django mssql 提供程序 我已经安装了要求 但无法让它工作 如果 settings py 中没有 sqlserver ado 它可以正常导入 testenv C Users Robin test gt pytho
  • 应该使用encodeURI吗?

    javascript 的encodeURI 函数有任何有效用途吗 据我所知 当您尝试发出 HTTP 请求时 您应该 完整的 URI 您想要放入 URI 中的某些片段 可以是 unicode 字符串或 UTF 8 字节序列 在第一种情况下 显
  • 在iframe中显示本地htm文件?

    我使用 MailBee NET 对象以 htm 格式在本地计算机上保存一些电子邮件 例如 使用服务器上的电子邮件 messageID 为每封电子邮件创建一个单独的文件夹 D 电子邮件 GmailId1380ec660e0e656a doc
  • Gradle 构建错误

    由于此错误 我的构建失败 评估项目 DBSupport 时出现问题 gt 找不到 参数 project Core Platform 上提供的方法providedCompile 项目 DBSupport 知道这意味着什么吗 descripti
  • Guard 不会加载 WDM

    我正在学习 Michael Hartl 的 Rails 教程 到目前为止该教程非常出色 我在高级设置一章中 他以有利于 TDD 的方式配置 Rails 环境 我安装了 Guard 并且通过运行我在 spec 文件夹中的测试 它一直正常运行
  • Rails:测试需要访问 Rails 环境的助手(例如 request.fullpath)

    我有一个可以访问的助手request fullpath 在孤立的辅助测试中 request不可用 我应该怎么办 我可以以某种方式嘲笑它或类似的东西吗 我正在使用最新版本的 Rails 和 RSpec 这是我的助手的样子 def item a
  • 在将字符串传递给 int() 之前,如何检查它是否为负数?

    我正在尝试编写一些内容来检查字符串是数字还是负数 如果它是一个数字 正数或负数 它将通过 int 传递 不幸的是 当包含 时 isdigit 不会将其识别为数字 这是我到目前为止所拥有的 def contestTest Neutral po
  • 如何将文本转换为标题大小写?

    我有一个文本文件 其中包含需要更改为标题大小写的标题列表 单词应以大写字母开头 但大多数冠词 连词和介词除外 例如 这个书名列表 barbarians at the gate hot flat and crowded A DAY LATE
  • 正则表达式最小值4 个字符,最多 11 个,允许空格和特殊字符

    我在 RegularExpressionValidator NET 控件上有一个正则表达式 w 4 11 工作正常 它允许字符串长度在 4 到 11 之间 我希望它允许空格和特殊字符 例如 丹麦语字符 有什么建议么 怎么样 4 11 或者只
  • NSURLSessionDownloadTask 出现存储几乎已满磁盘警告的问题

    我在使用 NSURLSessionDownloadTask 处理 ios 上的 空间不足 磁盘已满 错误时遇到问题 如果由于应用程序中完成下载而导致磁盘已满 我会接到电话 URLSession 会话 NSURLSession 任务 NSUR
  • 引导下拉菜单 同一水平行上的两个链接

    我正在使用 Bootstrap 制作下拉菜单 我想要的选项之一是下拉菜单中同一水平行上的两个链接 我将如何实现这一目标 div class navbar div class navbar inner li class dropdown a
  • 我应该保留远程数据库的本地副本吗?

    我正在开发一个应用程序 基本上允许人们创建 加入和管理其他人的群组 群组内的人也可以互相发送消息 我一直在想哪条路会更好 保留包含所有信息的远程数据库 包括发送给用户和从用户发送的消息 并让应用程序在每次需要信息时查询服务器 甚至是它以前见