离子存储和本机存储之间的区别?

Pra*_*hnu 3 local-storage ionic-framework ionic2 ionic3

我实际上正在使用离子存储。我听说过Ionic Native Storage,但我不知道它们之间的确切区别。

  • 首选使用哪一个?
  • 哪个是最佳选择?

谢谢!,

Gab*_*eto 8

它们具有基本相同的目的,并且都使用键/值来存储项目,但是我认为Ionic Storage更好,我将告诉原因。

本机存储需要并且只能与安装的插件一起使用,因此,如果没有插件,或者如果它是Web应用程序,则用户将无法使用存储。之所以要使用它,是因为iOS可能会在内存不足时删除存储的数据。

离子存储的工作方式不同,您可以将值保存在IndexedDB中,这是浏览器的一种存储方式,但是如果安装了SQLite插件,它将自动优先保存数据到SQLite中,因此不会造成任何损失当iOS内存不足时。

因此,当与SQLite一起使用时,如果在作为Web应用程序运行的浏览器中,用户仍可以保存数据,因为由于Web中没有插件,它将使用IndexedDB,如果没有IndexedDB,则它将使用localStorage。

而且您无需学习使用插件保存的SQLite,Ionic Storage将为您完成所有工作,您只需要像使用本机脚本或localStorage一样使用键/值即可。

首选哪一个?这完全取决于您,但是我发现Ionic Storage具有更多优势。

查阅Ionic Storage Docs

希望这可以帮助。


小智 6

主要区别在于:本机存储是 Cordova 插件,因此只能在设备中使用。它比设备上的 Ionic Storage 快一点,因为使用设备的本机功能来存储键/值数据。

Ionic Storage 不是 Cordova 插件,而是一个 javascript 库,可以在设备和导航器中使用。

它们之间没有太大区别,我更喜欢 Ionic Storage,因为我可以在开发过程中在浏览器上实现更快的测试。


Tar*_*eed 6

现在我使用 ionic 4,我遇到了@ionic/storage模块令人不快的延迟,但在我切换到本机存储后,我获得了更好的性能。顺便说一下,在使用ionic cordova run browser命令而不是ionic serve命令对浏览器进行测试时,您仍然可以使用它。

所以我想说的是,本地插件总是在性能方面获胜。

最好的祝愿