Browse Source

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

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

26
src/db/index.js

@ -1,10 +1,26 @@
import buildKnex from "knex" import buildKnex from "knex"
import knexConfig from "../../knexfile.mjs" import knexConfig from "../../knexfile.mjs"
const environment = process.env.NODE_ENV || 'development'; const cache = {}
const db = buildKnex(knexConfig[environment]);
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() { // async function createDatabase() {
// try { // try {
@ -14,8 +30,8 @@ export default db;
// // 检查users表是否存在(示例) // // 检查users表是否存在(示例)
// const [tableExists] = await db.raw(` // const [tableExists] = await db.raw(`
// SELECT name // SELECT name
// FROM sqlite_master // FROM sqlite_master
// WHERE type='table' AND name='users' // WHERE type='table' AND name='users'
// `) // `)

Loading…
Cancel
Save