Caching 网站-最终用户系统上的数据存储

Caching 网站-最终用户系统上的数据存储,caching,browser,indexeddb,fileapi,Caching,Browser,Indexeddb,Fileapi,我面临以下挑战: -我正在尝试将网站数据保存到最终用户系统上的本地存储。这样他们就可以在离线时工作。此外,我希望本地缓存尽可能长时间可用。类似于以某种方式处理/阻止ctrl-r和F5,以便不刷新缓存。 这是因为用户将在现场工作,很可能无法访问互联网 我已经考虑了几种选择。现在我正在和自己争论使用IndexedDB或文件API -文件API的缺点: 这似乎是不赞成的: -文件API的优点: 写入文件系统而不是内部浏览器缓存 -IndexedDB的缺点: 浏览器控制的缓存 -IndexedDB的优点

我面临以下挑战: -我正在尝试将网站数据保存到最终用户系统上的本地存储。这样他们就可以在离线时工作。此外,我希望本地缓存尽可能长时间可用。类似于以某种方式处理/阻止ctrl-r和F5,以便不刷新缓存。 这是因为用户将在现场工作,很可能无法访问互联网

我已经考虑了几种选择。现在我正在和自己争论使用IndexedDB或文件API

-文件API的缺点: 这似乎是不赞成的:

-文件API的优点: 写入文件系统而不是内部浏览器缓存

-IndexedDB的缺点: 浏览器控制的缓存

-IndexedDB的优点: 还活着。 很好的键/值db


我还尝试了浏览器中的本地存储。读这个:-尤其是这个东西很好。但是如果用户在同步发生之前清除缓存=数据丢失:-(


我希望你能给我一些好的建议。我期待着收到你的来信

多谢各位。 /Lars Bingchong

文件API的上一次更新是在2014年7月15日进行的——就在撰写本文的两周前。这里没有提到API被弃用。事实上,该措辞特别指的是“正在进行的工作”。也没有提及,但对规范进行了警告要更改的对象、前缀的使用等

根据您的具体需求,
LocalStorage
的容量高达5Mb左右,而
IndexedDB
则是在这一容量的基础上构建的,并提供了额外的搜索和查询功能

您还需要确保您的代码和其他资产可以脱机使用,因此您需要进行此操作。存储在应用程序缓存中的应用程序也将联机运行,因此不会发生冲突。浏览器会在发现清单已更改时更新本地副本

如果您担心数据丢失,除了确保用户知道他们不应该做删除其数据的事情外,您几乎无法在脱机状态下做任何事情。在这方面,它与任何其他本机应用程序都很相似。您可以将隐蔽性视为可能有帮助的存储介质,但请谨慎使用