热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

从移动优先到离线优先(三)实现离线优先的常规措施

不同的离线架构在本地数据的存储、访问和同步方式上是有所不同。下面从简单方案到鲁棒方案进行介绍。缓存最常见的方法是简单地在本地缓存数据。缓存存储数据以供读取访问。这使用户可以访问其设

不同的离线架构在本地数据的存储、访问和同步方式上是有所不同。下面从简单方案到鲁棒方案进行介绍。

  • 缓存

    最常见的方法是简单地在本地缓存数据。缓存存储数据以供读取访问。这使用户可以访问其设备上的数据,呈现 UI, 并提供基于近期数据快照的可预知的用户体验。缓存可以提供平滑离线体验和更快的性能,对于一些程序足以完成离线优先的目的。

    

     但是, 许多应用程序不仅是只读的, 而且还启用数据输入和操作。用户缓存的主要缺点是,在离线情况下,用户不能更新缓存数据。另一个缓存的常见缺点是, 很难知道缓存何时无效和及时获取数据。如果缓存中的部分无效,也要从零开始下载其全部内容,导致过度使用设备的无线网络和电池。

  • 手动更新

    这种自定义编码方法采取了超越缓存的步骤,是移动客户端拥有了读写能力。它允许用户在脱机时操作数据,将对象标记为改变。当连接变为可用时, 所有已更改的对象都将被全部发送到服务器。

 

    但是, 该方法是不可预知的, 并且可能由于任何原因(应用程序、服务器、移动网络或其他点)导致错误。因为数据是存储在 JSON 中, ORM (序列化/反序列化为本机对象) 是必需的,添加延迟和转换失败的可能性。

  • 实时数据同步平台

    在此模型中, 数据同步不是手动的, 而是自动的, 实时发送更改。这个一般都需要购买商业产品。

  

 

转:https://www.cnblogs.com/lilunjia/p/7776958.html



推荐阅读
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 通过与阿里云的合作,牛客网成功解决了跨国视频面试中的网络卡顿问题,为求职者和面试官提供了更加流畅的沟通体验。 ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 本文详细介绍如何在VSCode中配置自定义代码片段,使其具备与IDEA相似的代码生成快捷键功能。通过具体的Java和HTML代码片段示例,展示配置步骤及效果。 ... [详细]
  • 在网页开发中,页面加载速度是一个关键的用户体验因素。为了提升加载效率,避免在PageLoad事件中进行大量数据绑定操作,可以采用异步加载和特定控件来优化页面加载过程。 ... [详细]
  • 深入解析JMeter中的JSON提取器及其应用
    本文详细介绍了如何在JMeter中使用JSON提取器来获取和处理API响应中的数据。特别是在需要将一个接口返回的数据作为下一个接口的输入时,JSON提取器是一个非常有用的工具。 ... [详细]
author-avatar
wwaadd4055
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有