缓存优化

This commit is contained in:
tangly1024
2022-01-27 13:58:49 +08:00
parent 44c698fd4d
commit 63e39fa2a8
6 changed files with 26 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
import { getCacheFromMemory, setCacheToMemory } from '@/lib/cache/memory_cache'
// import { getCacheFromFile, setCacheToFile } from './local_file_cache'
import { getCacheFromMemory, setCacheToMemory, delCacheFromMemory } from '@/lib/cache/memory_cache'
// import { getCacheFromFile, setCacheToFile, delCacheFromFile } from './local_file_cache'
const enableCache = true // 生产环境禁用
/**
@@ -24,3 +24,10 @@ export async function setDataToCache (key, data) {
}
await setCacheToMemory(key, data)
}
export async function delCacheData (key) {
if (!enableCache) {
return
}
await delCacheFromMemory(key)
}

View File

@@ -40,3 +40,11 @@ export async function setCacheToFile (key, data) {
json[key + '_expire_time'] = new Date().getTime()
fs.writeFileSync(jsonFile, JSON.stringify(json))
}
export async function delCacheFromFile (key, data) {
const exist = await fs.existsSync(jsonFile)
const json = exist ? JSON.parse(await fs.readFileSync(jsonFile)) : {}
delete json.key
json[key + '_expire_time'] = new Date().getTime()
fs.writeFileSync(jsonFile, JSON.stringify(json))
}

View File

@@ -10,3 +10,7 @@ export async function getCacheFromMemory (key, options) {
export async function setCacheToMemory (key, data) {
await cache.put(key, data, cacheTime * 1000)
}
export async function delCacheFromMemory (key) {
await cache.del(key)
}

View File

@@ -3,6 +3,7 @@ import getAllPageIds from './getAllPageIds'
import getPageProperties from './getPageProperties'
import { defaultMapImageUrl } from 'react-notion-x'
import { getNotionPageData } from '@/lib/notion/getNotionData'
import { delCacheData } from '@/lib/cache/cache_manager'
/**
* 获取所有文章列表
@@ -61,6 +62,8 @@ export async function getAllPosts ({ notionPageData, from, includePage = false }
if (!posts || posts.length === 0) {
console.warn('文章列表为空')
const cacheKey = 'page_block_' + BLOG.NOTION_PAGE_ID
await delCacheData(cacheKey)
}
// Sort by date
if (BLOG.POSTS_SORT_BY === 'date') {

View File

@@ -59,7 +59,7 @@ export async function getGlobalNotionData ({
*/
export async function getNotionPageData ({ pageId, from }) {
// 尝试从缓存获取
const cacheKey = 'page_record_map_' + pageId
const cacheKey = 'page_block_' + pageId
const data = await getDataFromCache(cacheKey)
if (data) {
console.log('[请求缓存]:', `from:${from}`, `id:${pageId}`)

View File

@@ -6,7 +6,7 @@ export async function getPostBlocks (id, from, slice) {
const cacheKey = 'page_block_' + id
let pageBlock = await getDataFromCache(cacheKey)
if (pageBlock) {
console.log('[请求缓存]:', `from:${from}`, `id:${id}`)
console.log('[请求缓存]:', `from:${from}`, `id:${id}`, cacheKey)
return filterPostBlocks(id, pageBlock, slice)
}
const authToken = BLOG.NOTION_ACCESS_TOKEN || null