node.js - 在 Nodejs 本地正确保存数据
问题描述
我正在开发一个项目,其中所有用户数据都本地保存在.txt
json 格式的文件中。我的问题是如何优化数据读取/写入,我的意思是:这个项目包括一个程序,当程序运行时,它从读取文件开始(在文件中存储配置文件信息)JSON.parse(fs.readFileSync(PROFILES_FL, 'utf-8'));
,在此过程中它也编辑它们fs.writeFileSync(path, content, 'utf8');
,但编辑包括更改配置文件的参数并再次在文件中写入所有配置文件数据。如果数据很少,它会很快,但我认为当数据开始增长时,这个过程会越来越慢。我该如何优化呢?
我在用着Node.js
解决方案
您可能需要考虑使用 redis 作为缓存存储而不是文件,它比数据库更快。
1)在Linux上安装Redis。使用这个简单的指南。
2) 使用 NPM 安装带有节点的 redis:npm install redis
3)在您的代码中要求并启动redis:
var redis = require('redis');
var client = redis.createClient(); // this creates a new client
4)快速入门redis:
let user_object = {username: 'medz', password: '*****'}
client.set('user_data', user_object);
client.get('user_data', function (error, result) {
if (error) {
console.log(error);
throw error;
}
console.log('User data ->' + result);
});
您可以查看此链接以了解有关此过程的更多信息。
推荐阅读
- sql - 如何替换字符串中的值,除了最后一次出现在oracle中的特定值
- c++ - 如何更改 Excel DSN 的默认工作簿?
- sql - 存储过程中的选择和更新语句
- python-3.x - TypeError:“时间戳”对象不可下标
- python-3.x - 如何将情感分析脚本与聊天机器人集成以在同一控制台屏幕中分析用户的回复?
- firebase - 用户杀死应用程序时,firebase.notifications().getInitialNotification() 不起作用
- 8thwall-xr - 物体不在地面上生成
- java - Java - 将 XML 文件转换为 Docx 文件
- vb.net - 检查外部程序是否是活动窗口
- javascript - 如何在 odoo 11.0 中添加新的 javascript 文件并在加载 web/登录时调用脚本?