首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ionic 开发之 Ionic Storage 详解

该工具可以根据平台自动选择最佳的存储引擎,而不用用户关系具体的使用细节。模块内存储引擎的默认选择顺序是 SQLite,IndexedDB,WebSQL 和 LocalStorage。...在原生应用程序环境中运行时,存储方式会优先使用 SQLite 的原因,是因为它最稳定和最广泛使用的文件数据之一,并且避免了诸如 localStorage 和 IndexedDB 之类的一些陷阱,比如在低磁盘空间的情况下会自动清理数据...在实际开发中,如果你想执行任意 SQL 查询,你可以直接使用 Ionic Native SQLite 插件。 接下来,我们先来介绍一下 Ionic Storage 的安转与使用。...配置 Storage 你可以使用特定的存储引擎优先级配置存储引擎,也可以将自定义配置项配置为 localForage。...实际的开发过程中,在数据存储时,我们可能还会涉及数据响应式、数据加密、数据压缩、数据迁移和备份,有上述需求的同学,可以了解一下 rxdb 这个库。

3.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浏览器的数据存储方法比较

    LocalStorage 提供了一个简单的 API,用于在网页浏览器内部存储键值对。它具有setItem、getItem、removeItem和clear等方法,这些都是从键值存储中所需的所有功能。...您可以将本地库编译成 WebAssembly,只需进行少量调整即可在客户端运行。WASM 代码可以发送到浏览器应用程序,通常比 JavaScript 运行得快得多,但仍然比本地代码慢约10%。...该想法是为开发者提供一种在客户端使用 SQL 存储和查询数据的方法,类似于服务器端数据库。由于多个良好原因,WebSQL 在近年已被从浏览器中移除。...为了解决这个问题,有两种解决方案: 第一个选项是使用BroadcastChannel API,它可以在浏览器标签页之间发送消息。所以每次您向存储写入时,也会向其他标签页发送通知,告知它们这些更改。...性能结论 本地存储真的很快,但请记住它也有一些缺点: 它阻塞了主要的 JavaScript 进程,因此不应用于大量操作。

    13310

    你可能需要indexedDB存储技术

    目前可以采用的方式为localStorage存储在本地,但是如果图片数据过大(大于10M,目前浏览器localStorage 在 2.5MB 到 10MB 之间),那么就需要一种新的解决方案,那就是本文的主角...至于为什么会被废弃,可以参考这篇文章:HTML5 indexedDB前端本地存储数据库实例教程 IndexedDB 基本用法 IndexedDB的基本操作可以参考阮一峰老师写的:浏览器数据库 IndexedDB...localForage通过使用简单的类似于localStorage的API使用异步存储(IndexedDB或WebSQL)来改善Web应用程序的离线体验。...localForage在不支持IndexedDB或WebSQL的浏览器中会自动使用localStorage。...它使应用程序可以在脱机时在本地存储数据,然后在应用程序重新联机时将其与CouchDB和兼容服务器同步,从而使用户的数据无论在下次登录时都保持同步。

    2K20

    腾讯开发工程师:前端异常监控到底怎么做

    目前H5也支持若干种本地存储方案,cookie, localStorage, indexedDB和websql等,其他的由插件提供的能力不在考虑的范围之类,如flash,移动端的可用性会是一个很大的问题...经测试,在iOS上容量最大支持50MB,不过如果使用系统自带的safari,超过5MB时,会主动提醒用户是否要增加数据库的大小,不是很友好,不过微信里到是不会。...indexedDB IndexedDB 是一种可以让你在用户的浏览器内持久化存储数据的方法,作为下一代的客户端结构化数据持久存储方案,足够的强大和高效,目前在各大浏览器中也有很好的支持,是未来用来替换websql...由于我们并不需要实时的获取来自客户端的大量日志,因此日志是存储在用户客户端本地的,我们需要后台配合开发一个用于接收客户端通过网络上传的日志内容并存储起来的接口。...我们希望这套工具可以不依赖于后端,既可以部署在服务器端,也可以当做本地网页直接双击打开,也可以被简单的包一层外壳而当做桌面APP来使用。

    63010

    除了缓存,浏览器还有哪些存储数据的方式?

    二、cookie cookie 是最早期 用于存储 键/值对 数据的解决方案,但由于各种安全、无法存储复杂数据等问题,请使用另外两种方案。...有两种使用场景: 1、Window.localStorage 用于本地存储,浏览器关闭后,再重新打开数据依然可用。 IndexedDB采用异步操作,避免阻塞应用程序。 1、扩展库 IndexedDB API 功能强大但过于复杂,可使用下面扩展库 降低开发难度。...名称 作用 localForage 把 IndexedDB、WebSQL、localStorage 封装成统一接口,如果浏览器不支持 IndexedDB 就退到 WebSQL 或 localStorage...lovefield Lovefield 是一个用于 Web App 的关系型数据库,使用 JavaScript 编写,可以在不同的浏览器环境中运行,提供了类似 SQL 的 API,速度快、安全且易用。

    1.6K30

    认识浏览器缓存

    这类缓存是轻量级的缓存,主要是对一些前端的业务数据做本地持久化存储,一般保存一些状态、或者一些小文件,或者做登录校验等。...如果需要长期存储(下一次打开app仍然需要)可以使用localStorage,如果存储的数据只是在会话期间使用,比如用于tab页面间共享数据等,可以使用sessionStorage。...,索引,主键等,这些都是很好的一些特性 3 支持二进制存储 和Cookie,localStorage等不同的是,indexedDB几乎支持任何类型的数据存储,包括文本数据,二进制数据,js对象等,对于需要直接存储二进制数据的需求特别友好...2.2.4 WebSQL 在说WebSQL之前,需要强调一点,和H5离线缓存(manifest)一样,WebSQL已经不推荐使用了,推荐使用IndexedDB来作为前端数据库存储,W3C已经做废弃处理了...6)使用环境 由于WebSQL也属于前端数据库型的缓存机制,而且属于关系型数据库。建议有关系型数据的存储需求的应用使用,而且WebSQL不能存储二进制的数据,需要注意。

    1.6K61

    【Web技术】630- 前端存储除了 localStorage 还有啥

    保存到 ImmortalDB 的数据被冗余地存储在 Cookies,IndexedDB 和 localStorage 中,并且如果其中的任何数据被删除或损坏,它们将不断进行自我修复。...它通过使用类似于 localStorage 的简单 API 来使用异步存储(IndexedDB 或 WebSQL)),进而改善你的 Web 应用程序的离线体验。...对于不支持 IndexedDB 或 WebSQL 的浏览器,localForage 会使用 localStorage 进行数据存储。...IndexedDB 的特点: 存储空间大:存储空间可以达到几百兆甚至更多; 支持二进制存储:它不仅可以存储字符串,而且还可以存储二进制数据; IndexedDB 有同源限制,每一个数据库只能在自身域名下能访问...数据操作是异步的:使用 IndexedDB 执行的操作是异步执行的,以免阻塞应用程序。

    2.3K30

    前端存储除了 localStorage 还有啥

    它通过使用类似于 localStorage 的简单 API 来使用异步存储(IndexedDB 或 WebSQL),进而改善你的 Web 应用程序的离线体验。...对于不支持 IndexedDB 或 WebSQL 的浏览器,localForage 会使用 localStorage 进行数据存储。...https://github.com/pouchdb/pouchdb ❞ PouchDB 是一个浏览器内数据库,允许应用程序在本地保存数据,以便用户即使在离线时也可以享受应用程序的所有功能。...IndexedDB 的特点: 存储空间大:存储空间可以达到几百兆甚至更多; 支持二进制存储:它不仅可以存储字符串,而且还可以存储二进制数据; IndexedDB 有同源限制,每一个数据库只能在自身域名下能访问...数据操作是异步的:使用 IndexedDB 执行的操作是异步执行的,以免阻塞应用程序。

    2.4K30

    对不起 localStorage,现在我爱上 localForage了!

    当我们的存储量比较大的时候,我们一定会想到我们的 indexedDB,让我们在浏览器中也可以使用数据库这种形式来玩转本地化存储,然而 indexedDB 的使用是比较繁琐而复杂的,有一定的学习成本,但...存取方便 IndexedDB 是一个基于 JavaScript 的面向对象数据库。IndexedDB 允许你存储和检索用键索引的对象;可以存储结构化克隆算法支持的任何对象。...之前我们使用 webStorage 存储对象或数组的时候,还需要先经过先序列化为字符串,取值的时候需要经过反序列化,那indexedDB就比较完美的解决了这个问题,可以轻松存取对象或数组等结构化克隆算法支持的任何对象...那么 IndexedDB 存储量过多的话会导致页面变卡吗? 不会有太大影响,因为 IndexedDB 的读取和存储都是异步的,不会阻塞浏览器进程。...但是你也不必太过担心,因为 localforage 已经帮你消除了这个心智负担,它有一个优雅降级策略,若浏览器不支持 IndexedDB 或 WebSQL,则使用 localStorage。

    72620

    JavaScript是如何工作的:存储引擎+如何选择合适的存储API

    概述 在设计 Web 应用程序时,为本地浏览器选择合适的存储机制至关重要, 一个好的存储引擎可以确保可靠地保存信息,减少带宽,提高响应能力。...以下使用文件系统 API 的几个示例: 有上传的应用 当你选择一个文件或目录进行上传时,你可以赋值文件到一个本地沙盒并一次上传一个块。...音频或照片编辑器使用线下访问或本地缓存 应用可以分段写入文件(例如只覆盖ID3/EXIF标签而不是整个文件)。 线下视频浏览 应用可以访问只下载了部分的文件。...IndexedDB 曾经有一个与之竞争的规范,称为 WebSQL 数据库,但是 W3C 弃用了它。虽然 IndexedDB 和WebSQL 都是存储解决方案,但它们提供的功能不同。...要存储应用程序状态和用户生成的内容,请使用IndexedDB。这使得用户可以在更多的浏览器中离线工作,而不仅仅是那些支持缓存API的浏览器。

    1.6K10

    用NW.js构建跨平台桌面应用(4)-数据持久化

    断电即失效)保存为持久数据(比如写入数据库中长久保存); 由于NW.js的特性,可供选择的本地持久化方案非常丰富,既可以依赖于Node.js直接使用NeDB、LowDB等第三方数据库方案,也可以使用HTML5...及其相关标准中提供的WebSQL、WebStorage、IndexedDB等方案,甚至直接将简单的数据保存到本地文件中 [I]....直接存储数据到本地文件 正如之前的文章提到过的,NW.js提供了App.dataPath来访问系统的应用数据目录, 可以利用其方便的存储应用配置文件等 不同平台上的具体指向: Win: $LOCALAPPDATA...5MB的存储限制 同步调用,有可能阻塞主渲染进程 直接读写磁盘,可能影响性能 没有高级的索引和查询等 只能用字符串存取数据,复杂数据和图片应分别用JSON和base64转码后存储 可以在 DevTools...djyde/StoreDB) 是一个基于localStorage的本地储存库,通过模拟MongoDB的一些API和概念(如“集(collection)”和“文档(document)”),使你能使用 localStorage

    2K20

    萌新必看——10种客户端存储哪家强,一文读尽!

    —例如当前屏幕、输入的数据、用户首选项等 访问本地数据或文件并有严格隐私要求的实用程序 脱机工作的渐进式web应用程序(PWA) 接下来将为大家详细比较10中不同的客户端存储方式,包括这些方法的限制...JavaScript变量 DOM节点(DOM node)存储 Web存储(localStorage和sessionStorage) IndexedDB/索引数据- Cache API...优势 具有最大空间的灵活数据存储 强大的事务、索引和搜索选项 良好的浏览器支持 缺点 回调复杂,API基于事件 IndexedDB可以存储大量数据,但需要使用诸如idb、Dexie.js或JsStore...我们可以使用它来存储应用程序状态。 文件系统访问API ? 文件系统访问API允许浏览器从本地文件系统读取、写入、修改和删除文件。浏览器在沙盒环境中运行,因此用户必须授予对特定文件或目录的权限。...优势 web应用程序可以安全地读取和写入本地文件 不需要在服务器上上传文件或处理数据 缺点 只有最低限度的浏览器支持(仅限Chrome) API会发生更改 这种储存方式的优势几乎是压倒性的 文件和目录项

    2.9K10

    前端存储技术

    Storage 作为 Web Storage API 的接口,Storage 提供了访问特定域名下的会话存储(session storage)或本地存储(local storage)的功能,例如,可以添加...如果你想要操作一个域名的会话存储(session storage),可以使用 window.sessionStorage;如果想要操作一个域名的本地存储(local storage),可以使用  window.localStorage...sessionStorage和localStorage的用法是一样的,区别在于sessionStorage会在会话关闭也就是浏览器关闭时失效,而localStorage是将数据存储在本地,不受关闭浏览器影响...IndexedDB 随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。...所以,需要一种新的解决方案,这就是 IndexedDB 诞生的背景。 通俗地说,IndexedDB 就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。

    1.9K40

    鹅厂原创 | 前端持久化 -- evercookie

    ; 5) globalStorage 同localStorage类似,同样是永久存储在本地,目前只有 Firefox48 以上才支持; 6) openDatabase HTML5的WebSQL数据库,可以理解为本地存储...Local Storage 和 Session Storage 的一个加强,用来操纵大量结构化数据,由于各个浏览器实现原因,WebSQL规范已经被废弃掉了; 7) IndexedDB 浏览器内置的一种数据库...,永久保存数据,IndexDB与WebSQL比较,IndexedDB更像是一个NoSQL数据库,而WebSQL更像是关系型数据库,使用SQL查询数据; 8) IndexedDB evercookie利用了图片的缓存进行了存储...12) java应用程序本地存储 通过使用JNLP调用Java Applet的能力将数据存在了本地文件中,代码量比较大不细分析了,反编译了jar包以及class文件,放在附件里有兴趣的可以看下。...3应用 使用evercookie进行持久化,可以让我们的数据常驻浏览器,利用它不仅可以收集各种浏览器数据,更重要的是,即使用户对浏览器cookie进行了大清洗,这些数据仍然可以起死回生。

    1.1K20
    领券