From 2766cb8d3b26dc162fbb19642a425171f6d7abb0 Mon Sep 17 00:00:00 2001 From: anime Date: Thu, 2 Jan 2025 18:36:14 +0800 Subject: [PATCH] =?UTF-8?q?perf(PostBlocks=20=E8=BD=AC=E6=8D=A2=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=BC=93=E5=AD=98=E4=BC=98=E5=8C=96):=20=E5=A4=8D?= =?UTF-8?q?=E6=9D=82=E7=9A=84=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=BD=BF=E7=94=A8=E7=BC=93=E5=AD=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/notion/getPostBlocks.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/notion/getPostBlocks.js b/lib/notion/getPostBlocks.js index d5896ddc..0ab2270c 100644 --- a/lib/notion/getPostBlocks.js +++ b/lib/notion/getPostBlocks.js @@ -1,6 +1,9 @@ import BLOG from '@/blog.config' -import { getDataFromCache, setDataToCache } from '@/lib/cache/cache_manager' -import { NotionAPI } from 'notion-client' +import { + getDataFromCache, + getOrSetDataWithCache, + setDataToCache +} from '@/lib/cache/cache_manager' import { deepClone, delay } from '../utils' import getNotionAPI from '@/lib/notion/getNotionAPI' @@ -16,7 +19,13 @@ export async function getPage(id, from = null, slice) { let pageBlock = await getDataFromCache(cacheKey) if (pageBlock) { // console.debug('[API<<--缓存]', `from:${from}`, cacheKey) - return convertNotionBlocksToPost(id, pageBlock, slice) + return await getOrSetDataWithCache( + `page_converted_block_${id}_${slice}`, + convertNotionBlocksToPost, + id, + pageBlock, + slice + ) } // 抓取最新数据 @@ -24,7 +33,13 @@ export async function getPage(id, from = null, slice) { if (pageBlock) { await setDataToCache(cacheKey, pageBlock) - return convertNotionBlocksToPost(id, pageBlock, slice) + return await getOrSetDataWithCache( + `page_converted_block_${id}_${slice}`, + convertNotionBlocksToPost, + id, + pageBlock, + slice + ) } return pageBlock }