Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 将数据库存储/备份到文件中,IndexeDB、WebSQL和SQLlite的区别是什么?_Javascript_Database_Sqlite_Indexeddb_Web Sql - Fatal编程技术网

Javascript 将数据库存储/备份到文件中,IndexeDB、WebSQL和SQLlite的区别是什么?

Javascript 将数据库存储/备份到文件中,IndexeDB、WebSQL和SQLlite的区别是什么?,javascript,database,sqlite,indexeddb,web-sql,Javascript,Database,Sqlite,Indexeddb,Web Sql,我的问题是关于IndexedDB、WebSQL和SQLite的。没有必要解释它们是不同的,我想知道的是: 这三个“数据库解决方案”是否允许存储其所有数据 到文件吗? (当然,如果要执行相反的操作,请在给定备份文件的情况下初始化其所有数据? 背景 由于我已经做了一些研究,部分回答了这个问题,请允许我提供这个问题的背景信息: 数据库 (是它允许在文件中存储和检索数据库) 我已经用SQLite做了一些工作。为此,我知道它实际上会通过对文件的引用立即启动数据库。备份就是简单地复制文件。还原正在重写文件

我的问题是关于IndexedDB、WebSQL和SQLite的。没有必要解释它们是不同的,我想知道的是:

这三个“数据库解决方案”是否允许存储其所有数据 到文件吗?
(当然,如果要执行相反的操作,请在给定备份文件的情况下初始化其所有数据?

背景 由于我已经做了一些研究,部分回答了这个问题,请允许我提供这个问题的背景信息:

数据库 (它允许在文件中存储和检索数据库)
我已经用SQLite做了一些工作。为此,我知道它实际上会通过对文件的引用立即启动数据库。备份就是简单地复制文件。还原正在重写文件

IndexedDB和WebSQL 据我所知,数据库解决方案“生活在浏览器的Javascript领域”,而在那里,我们不太处理文件。这是部分问题所在。如果我想将两个解决方案中的任何一个的数据导出到一个平面文件中,或者让我们假设一个字符串变量表示,那么这可能吗

这是一些我认为与之相关的问题:

这表明在IndexedDB和WebSQL中都没有简单的
toString()
(存储数据库)方法和
FromSting()

这确实是真的(在这里的回答中肯定了这一点),而且这些数据库不容易备份和检索,这将是非常令人伤心的,我认为这是一个差距。没有备份功能的数据库,真的吗

不管合适与否,老家伙都会用老方法做事。实际上,浏览器数据库需要备份。客户端中的数据只是服务器数据片段的缓存副本。没有必要回来。如果您认为IndexedDB(或web sql数据库)数据是持久的,您会很高兴知道,IndexedDB数据属于一组浏览器数据,这意味着UA可以自行删除数据,而无需向用户或应用程序提示


如果您的应用程序处理浏览器数据多于缓存副本,则说明您做错了

不管合适与否,老家伙都会用老方法做事。实际上,浏览器数据库需要备份。客户端中的数据只是服务器数据片段的缓存副本。没有必要回来。如果您认为IndexedDB(或web sql数据库)数据是持久的,您会很高兴知道,IndexedDB数据属于一组浏览器数据,这意味着UA可以自行删除数据,而无需向用户或应用程序提示


如果您的应用程序处理浏览器数据多于缓存副本,则说明您做错了

目前,没有办法备份和恢复浏览器数据库。实现这一点的唯一方法是不断将后端数据库与浏览器数据库同步,从而跟踪在浏览器上生成的数据的更改。

目前,无法备份和恢复浏览器数据库。实现这一点的唯一方法是不断将后端数据库与浏览器数据库同步,从而跟踪在浏览器上生成的数据的更改。

感谢您的回答。有一些见解,但我诚实地说。询问我是否可以备份或序列化所有数据库数据(在IndexedDB和WebSQL的情况下)是最有意义的,尽管如此,但是因为数据可能会突然丢失。我非常愿意接受你的回答,如果这种风格不是抱怨,而是更倾向于告诉人们是否有一种方法可以将数据存储在索引数据库等的volantile存储中(这毕竟是原因)。再次阅读,我看不到关于如何备份的有用答案,只是抱怨“你不应该备份”。对不起,我不同意你的看法。IndexedDB可用于缓存以外的用途。例如。所有数据都存储在IndexedDB中。除了提供静态JS/HTML/CSS之外,没有其他服务器端组件。尽管如此,游戏仍然有效。到目前为止,人们已经玩了1000多个小时。它快速、简单,并且易于运行。没有用户帐户,没有下载,等等。这只可能是因为IndexedDB。如果我的用户可以轻松地备份或导出保存的游戏,我会很高兴,但目前这是不可能的(或非常困难)。很好的游戏!我懂了。在浏览器数据库中,备份与同步回服务器相同。感谢您的回答。有一些见解,但我诚实地说。询问我是否可以备份或序列化所有数据库数据(在IndexedDB和WebSQL的情况下)是最有意义的,尽管如此,但是因为数据可能会突然丢失。我非常愿意接受你的回答,如果这种风格不是抱怨,而是更倾向于告诉人们是否有一种方法可以将数据存储在索引数据库等的volantile存储中(这毕竟是原因)。再次阅读,我看不到关于如何备份的有用答案,只是抱怨“你不应该备份”。对不起,我不同意你的看法。IndexedDB可用于缓存以外的用途。例如。所有数据都存储在IndexedDB中。除了提供静态JS/HTML/CSS之外,没有其他服务器端组件。尽管如此,游戏仍然有效。到目前为止,人们已经玩了1000多个小时。它快速、简单,并且易于运行。没有用户帐户,没有下载,等等。这只可能是因为IndexedDB。如果我的用户可以轻松地备份或导出保存的游戏,我会很高兴,但目前这是不可能的(或非常困难)。很好的游戏!我懂了。在浏览器数据库中,备份与同步回服务器是一样的。让我们希望“目前,…”,这样的智能功能最终会被启用。事实上,浏览器本身必须将数据存储在某个地方,而且很有可能不是一个非常零碎的difuese东西,而是一个文件或连续的内存部分。如果要将其标准化,则可以将此数据用作一种方便的备份方式。但我还没有完全康复