十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
雖然 Vue 的服務(wù)器端渲染 (SSR) 相當(dāng)快速,但是由于需要為每次請(qǐng)求為了避免交叉請(qǐng)求狀態(tài)污染,都創(chuàng)建一個(gè)新的根Vue實(shí)例,創(chuàng)建組件實(shí)例和虛擬 DOM 節(jié)點(diǎn)的開銷,無(wú)法與純基于字符串拼接的模板的性能相當(dāng)。在 SSR 性能至關(guān)重要的情況下,明智地利用緩存策略,可以極大改善響應(yīng)時(shí)間并減少服務(wù)器負(fù)載。同時(shí)還可以大大減少后端接口服務(wù)器的負(fù)載。

在 vue SSR指南 中,緩存有兩種,分為頁(yè)面級(jí)緩存和組件級(jí)緩存。本次講的是頁(yè)面緩存,如果內(nèi)容不是用戶特定的并且在相對(duì)較短時(shí)間內(nèi),頁(yè)面內(nèi)容不需要更新。我們就可以使用頁(yè)面緩存。對(duì)于頁(yè)面級(jí)緩存我們可以通過(guò)這段koa服務(wù)器的代碼大概知道緩存的思路:
const microCache = LRU({
max: 100,
maxAge: 1000 // 重要提示:條目在 1 秒后過(guò)期。
})
const isCacheable = req => {
// 實(shí)現(xiàn)邏輯為,檢查請(qǐng)求是否是用戶特定(user-specific)。
// 只有非用戶特定 (non-user-specific) 頁(yè)面才會(huì)緩存
}
server.get('*', (req, res) => {
const cacheable = isCacheable(req)
if (cacheable) {
const hit = microCache.get(req.url)
if (hit) {
return res.end(hit)
}
}
renderer.renderToString((err, html) => {
res.end(html)
if (cacheable) {
microCache.set(req.url, html)
}
})
})另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。