From aeb2b4ea673eddd16a60a6b3224b5ad04529ebf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E4=BA=9A=E6=98=95?= <1549469775@qq.com> Date: Fri, 4 Jul 2025 15:05:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9F=A5=E8=AF=A2=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/db/index.js | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/db/index.js b/src/db/index.js index 8c07589..5bc05aa 100644 --- a/src/db/index.js +++ b/src/db/index.js @@ -1,10 +1,26 @@ import buildKnex from "knex" import knexConfig from "../../knexfile.mjs" -const environment = process.env.NODE_ENV || 'development'; -const db = buildKnex(knexConfig[environment]); +const cache = {} -export default db; +buildKnex.QueryBuilder.extend("cache", async function () { + try { + const cacheKey = this.toString() + if (cache[cacheKey]) { + return cache[cacheKey] + } + const data = await this + cache[cacheKey] = data + return data + } catch (e) { + throw new Error(e) + } +}) + +const environment = process.env.NODE_ENV || "development" +const db = buildKnex(knexConfig[environment]) + +export default db // async function createDatabase() { // try { @@ -14,8 +30,8 @@ export default db; // // 检查users表是否存在(示例) // const [tableExists] = await db.raw(` -// SELECT name -// FROM sqlite_master +// SELECT name +// FROM sqlite_master // WHERE type='table' AND name='users' // `)