首页 > 解决方案 > 除了数据库,在 express.js 应用程序中的哪里保存数据?

问题描述

我在页面上显示一个链接,我想通过使用表单来更改该链接。

我应该在哪里保存该链接并检索以呈现数据库以外的页面?

*我认为针对这么小的任务涉及数据库的性能效率不高。


我能做的就是将它作为字符串保存在一个全局变量中,这样我就可以访问它并更改它。

但是在生产中使用全局变量来完成这样的任务是一个好习惯吗?

标签: node.jsexpress

解决方案


我相信您要实施的方法实际上取决于场景,例如更改链接的频率,阅读频率等。一些建议:

  1. 如果不同的用户想要查看和更新​​相同的链接而不影响其他用户,您可以使用在客户端存储的 cookie。然后您将不需要数据库,但每个用户都将管理自己的链接,其他人无法访问。
  2. 您可以使用一个文件,例如 json 或简单的文本文件,并使用 built-infs来读取和写入该文件。但是,在这种情况下,您可能希望使用同步操作来避免并发问题,例如const contents = fs.readFileSync('storage.txt', 'utf8');
  3. 当然,您也可以将数据存储在字符串中,但是如果服务器出现故障,链接将不会持续存在。

推荐阅读