From 2a18b4b1a88e888dcaf8072ad33fca5758641f2c Mon Sep 17 00:00:00 2001 From: canglan Date: Mon, 13 Jul 2026 04:18:52 +0800 Subject: [PATCH] perf: cache config.json reads by mtime, reduce sync I/O --- backend/db.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/backend/db.js b/backend/db.js index 2f97464..4a9cd0d 100644 --- a/backend/db.js +++ b/backend/db.js @@ -6,12 +6,17 @@ const crypto = require('crypto'); const CONFIG_PATH = path.join(__dirname, '..', 'data', 'config.json'); let pool = null; +let _configCache = null; +let _configMtime = 0; function getConfig() { - if (fs.existsSync(CONFIG_PATH)) { - return JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf-8')); - } - return null; + try { + const stat = fs.statSync(CONFIG_PATH); + if (_configCache && stat.mtimeMs === _configMtime) return _configCache; + _configCache = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf-8')); + _configMtime = stat.mtimeMs; + return _configCache; + } catch { return null; } } function saveConfig(cfg) {