随着5G的到来,访问网络越来越方便,但是不可否认的是,我们总会遇到断网的时候,在这个时代,断网有时候比停水,停电更让人揪心。
如何在断网的时候依然可以使用App,答案就是离线应用。通过将数据保存到本地数据库,然后在断网的时候,访问本地数据库,就可以提供给用户联网的用户体验。
之前我们对于web端的数据保存要么使用cookie,要么使用localstorage。无论使用哪个,都是有大小的限制,此外使用起来不如服务器数据库方便,为了给用户更好的体验,浏览器厂商们实现了indexdb标准,也就是在浏览器内部嵌入了一个数据库,通过JAVAscript的api我们就能够访问数据库,而且这个数据库基本上是满足我们日常数据查询使用的。
我们创建一个数据库,然后使用姓名和电子邮件作为查询条件,对象仓库调用 createObjectStore() 就可以创建。这个方法使用仓库的名称,和一个参数对象。在我们的示例中,我们创建了一个名为“customers” 的对象仓库并且定义了一个使得每个仓库中每个对象都独一无二的 keyPath 。
它是支持事物的,也就是说多个处理操作要么都失败,要么都成功,不存在中间状态。
它是支持索引的,意思就是你可以快速进行数据的检索。
它是支持游标的,也就是我们可以非常方便地进行数据结果集的遍历。
它拥有非关系型数据库的特点,可以非常方便储存键值对。