如何永久/持久保存 JavaScript 变量?

Posted

技术标签:

【中文标题】如何永久/持久保存 JavaScript 变量?【英文标题】:How do I save JavaScript variables permenantly/persistently? 【发布时间】:2020-06-25 10:21:45 【问题描述】:

我有 5 个数组,都可以由用户更新。它们的结构如下:

var nameStore = [
 name: "Tim Jones", idn: "i0001" ,
 name: "Mark Gooderham", idn: "i0002" 
];

var nameStoreName;

var subjectStore = [
     name: "Sailing", ids: "s0001" ,
     name: "Navigation", ids: "s0002" 
];

var subjectStoreName;

var classStore = [
     name: "Class A", idc: "c0001" ,
     name: "Class 2", idc: "c0002" 
];

var classStoreName;

var roomStore = [
     name: "Room 1", idr: "r0001" ,
     name: "Room 2", idr: "r0002" 
];

var weekStore = [
     week: 1, weekTimes: ["mon01i0001s0001c0001r0001", "mon02i0001s0002c0002r0002"] ,
     week: 2, weekTimes: ["mon02i0002s0002c0002r0002"] ,
];

我希望能够永久存储这些数组,这样当网页关闭时,这些数组的数据就会保存下来,以后可以被其他用户访问。我知道这是一个大问题,但即使您可以将我引导至其他资源,这也会有所帮助。

谢谢。

【问题讨论】:

你应该考虑使用数据库吗? 听起来确实像是数据库的用例。 @androidNoobie 有什么简单的方法可以做到这一点吗?还是我应该花时间学习 php 【参考方案1】:

为此,您应该将数组存储在数据库中。在关闭页面之前,将数组提交到数据库并更新记录。当用户打开网页时,查询数据库并获取数组的内容。

【讨论】:

【参考方案2】:

如果您不使用数据库进行持久化,您可以使用localStorage 将数组存储在浏览器上。

localStorage.setItem('key', JSON.stringify(arr));

var item = JSON.parse(localStorage.getItem('key'));

【讨论】:

这可能是一个选项,但本地存储仅在下一个用户从同一浏览器访问并且尚未被清除时才有效。 OP 询问了一种永久存储“以后可以由另一个用户访问”的方式(强调我的)。

以上是关于如何永久/持久保存 JavaScript 变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何将环境变量持久保存到 Visual Studio 构建助手?

如何在 python 中永久保存列表?

Redis的持久化之RDB

Redis的持久化之RDB

聊一聊Redis是如何做到“持久化”的

Hibernate学习第一课