← [ BACK_TO_NOTES ]

Electron项目的数据存储

Electron 进程中的本地存储方式与 WebStorage 选择策略

#desktop #electron #concept #growing

[!info] related notes

可以使用的数据存储方式

Electron 能够直接使用 nodejs API 对系统文件进行读写
当使用 Electron + Vue3 时,存储文件API 有 Node.js + Web APIs

nodejs 本地存储

class StorageService {
  private store: Store;

  constructor() {
    this.store = new Store({
      name: 'user-data', // 文件名
      encryptionKey: 'your-key', // 可选加密
      defaults: {
        accounts: [],
        settings: {}
      }
    });
  }

  // 保存用户数据
  async saveUser(userData: any) {
    return this.store.set(`users.${userData.id}`, userData);
  }

  // 读取用户数据
  async getUser(userId: string) {
    return this.store.get(`users.${userId}`);
  }
}

Web APIs

  • localstorage 大小一般为 5-10 MB
sessionStorage.setItem('formData', JSON.stringify({
  lastTab: 'profile',
  scrollPosition: 200
}));

localStorage.setItem('theme', 'dark');
localStorage.setItem('language', 'zh-CN');

const autoSave = () => {
  localStorage.setItem('draft', editor.getValue());
};
setInterval(autoSave, 1000);

选择策略

用户数据、配置信息、大文件、敏感信息等使用 Electron Storage
临时数据、会话数据、UI状态等 使用 WebStorage

创建于 2025/1/1 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本