跳到主要内容

数据流

完整数据流示例:创建钥匙串

数据同步

世界树面板和元宇宙面板共享同一数据库,通过事件同步:

// 数据变更后广播
mainWindow.webContents.send('data-changed', { module: 'keychain' })
metaverseWindow.webContents.send('data-changed', { module: 'keychain' })

// 渲染进程监听
ipcRenderer.on('data-changed', (_, { module }) => {
invalidateCache(module)
refreshUI(module)
})

缓存策略

缓存失效方式
世界树面板cachedItems操作后手动调用 invalidateCache()
元宇宙面板wtKeychainCache操作后手动调用 invalidateWtKeychainCache()
数据库Sequelize 查询缓存事务提交后自动失效