Browse Source

feat: 添加查询缓存功能,优化数据库查询性能

route
谢亚昕 4 weeks ago
parent
commit
aeb2b4ea67
  1. 26
      src/db/index.js

26
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'
// `)

Loading…
Cancel
Save