Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在移动web上永久存储键值对的最佳实践?_Javascript_Html_Sqlite_Trigger.io - Fatal编程技术网

Javascript 在移动web上永久存储键值对的最佳实践?

Javascript 在移动web上永久存储键值对的最佳实践?,javascript,html,sqlite,trigger.io,Javascript,Html,Sqlite,Trigger.io,第一次下载图像后,我将在我的移动web应用程序上保存图像。我不想将其存储在表中,因为同一个用户可能在不同的设备上保存了不同的图像,所以数据持久性将是一个问题。使用我将返回下载图像的本地位置,但要在将来使用它,它必须存储在永久位置 我所知道的最好的解决方案是将其存储为HTML5web数据库中的键值对,并在下载远程副本之前查询数据库以查看是否存在本地副本,但由于这种情况可能在单个页面上发生50倍,我认为50次查询可能会减慢我的应用程序。有更好的选择吗 此选项的一个增强功能是将所有KVP加载到一个对象

第一次下载图像后,我将在我的移动web应用程序上保存图像。我不想将其存储在表中,因为同一个用户可能在不同的设备上保存了不同的图像,所以数据持久性将是一个问题。使用我将返回下载图像的本地位置,但要在将来使用它,它必须存储在永久位置

我所知道的最好的解决方案是将其存储为HTML5web数据库中的键值对,并在下载远程副本之前查询数据库以查看是否存在本地副本,但由于这种情况可能在单个页面上发生50倍,我认为50次查询可能会减慢我的应用程序。有更好的选择吗


此选项的一个增强功能是将所有KVP加载到一个对象,并将保存持久化到数据库。想法?

你们在自相矛盾——一方面你们不想把它储存在桌子上。另一方面,您希望将其存储在HTML5数据库中,即SQLite。有什么好处?顺便说一句,SQLite非常能够在表中存储任意键/值对。对WebSQL数据库的50次查询将非常快速——我不担心这一点。还有forge.prefs,这可能会较慢,因为它使用本机代码。如果您确实遇到性能问题,将所有值存储在哈希中是一个不错的选择,正如您所说。@mvp My bad-澄清一下,我的意思是在我的数据库中有一个远程表。@JamesBrady我当前的解决方案使用本地存储,似乎运行良好,但我想知道它在iOS和Android上何时被清除。如果它从未被清除,为什么不这样做呢?