From f411f06b7a6ed2f3695d283eb2022cc589dd3c8c Mon Sep 17 00:00:00 2001 From: Backend Developer Date: Tue, 10 Mar 2026 10:01:19 +0000 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF:=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E4=B8=AD=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/middleware/cache.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 backend/src/middleware/cache.js diff --git a/backend/src/middleware/cache.js b/backend/src/middleware/cache.js new file mode 100644 index 0000000..ec89bd7 --- /dev/null +++ b/backend/src/middleware/cache.js @@ -0,0 +1,28 @@ +// 简单缓存中间件 +const cache = new Map(); + +const cacheMiddleware = (req, res, next) => { + if (req.method !== 'GET') { + return next(); + } + + const key = req.originalUrl; + + if (cache.has(key)) { + const { data, expiry } = cache.get(key); + if (Date.now() < expiry) { + return res.json(data); + } + cache.delete(key); + } + + const originalJson = res.json.bind(res); + res.json = (data) => { + cache.set(key, { data, expiry: Date.now() + 60000 }); // 1分钟缓存 + return originalJson(data); + }; + + next(); +}; + +module.exports = cacheMiddleware;