vue缓存分为页面缓存、组建缓存、接口缓存,这里我主要说到了页面缓存和组建缓存
页面缓存:
在server.js中设置
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | const LRU = require(‘lru-cache‘)const microCache = LRU({ max: 100, // 最大缓存的数目 maxAge: 1000 // 重要提示:条目在 1 秒后过期。}) const isCacheable = req => { //判断是否需要页面缓存  if(req.url && req.url === ‘/‘) {    returnreq.url  } else{   returnfalse  }}app.get(‘*‘, (req, res) => {const cacheable = isCacheable(req)  if(cacheable) {    const hit = microCache.get(req.url)     if(hit) {    returnres.end(hit)  } }const errorHandler = err => { if(err && err.code === 404) {  // 未找到页面  res.status(404).sendfile(‘public/404.html‘); } else{  // 页面渲染错误  res.status(500).end(‘500 - Internal Server Error‘)  console.error(`error during render : ${req.url}`)  console.error(err) }}const context = { title: ‘vue‘, keywords: ‘vue-ssr服务端脚手架‘, description: ‘vue-ssr-template, vue-server-renderer‘, version: v, url: req.url, cookies: req.cookies}renderer.renderToString(context, (err, html) => { if(err) {  returnerrorHandler(err) } res.end(html) microCache.set(req.url, html) // 设置当前缓存页面的内容})}) | 
组建缓存:
在server.js中设置如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | functioncreateRenderer(bundle, template) { returnrequire(‘vue-server-renderer‘).createBundleRenderer(bundle, {  template,  cache: LRU({   max: 1000,   maxAge: 1000 * 60 * 5 // 组建缓存时间  }) })}let rendererif(isProd) { // 生产环境使用本地打包文件来渲染 const bundle = require(‘./output/vue-ssr-bundle.json‘) const template = fs.readFileSync(resolve(‘./output/index.html‘), ‘utf-8‘) renderer = createRenderer(bundle, template)} else{ // 开发环境使用webpack热更新服务 require(‘./build/dev-server‘)(app, (bundle, template) => {  renderer = createRenderer(bundle, template) })} | 
要缓存的组建
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | export default{ name: ‘Home‘, title() {  return{   title: ‘vue-ssr‘,   keywords: ‘vue-ssr服务端脚手架, home‘,   description: ‘vue-ssr-template, vue-server-renderer, home‘  } }, created() { }, computed: {}, asyncData({ store }) {}, methods: {}, serverCacheKey: props => props.id} | 
serverCacheKey 返回的 key 应该包含足够的信息,来表示渲染结果的具体情况。如果渲染结果仅由 props.item.id 决定,则上述是一个很好的实现。但是,如果具有相同 id 的 item 可能会随时间而变化,或者如果渲染结果依赖于其他 prop,则需要修改 serverCacheKey 的实现,以考虑其他变量。如果 serverCacheKey返回常量将导致组件始终被缓存,这对纯静态组件是有好处的。
尚学堂iOS初级视频教程    下载地址:百度网盘下载
魔乐科技教你13天搞定JAVA系列高端教程 视频教程 教学视频 百度网盘下载    下载地址:百度网盘下载
[JAVA] 尚学堂java GUI学习 视频教程 教学视频 百度云网盘下载    下载地址:百度网盘下载
[JAVA] 传智播客 张孝祥 Java多线程与并发库高级应用视频教程 教学视频 百度网盘下载    下载地址:百度网盘下载
[JAVA] hibernate3.3视频教学 39讲 韩顺平主讲 附笔记-源码-资料-课件 视频教程    下载地址:百度网盘下载
[JAVA] spring视频教学讲座 28讲 韩顺平 附笔记-图解-代码-开发包主讲 视频教程    下载地址:百度网盘下载
[JAVA] JavaWeb图书管理系统视频+资料+笔记 视频教程 教学视频 百度网盘下载    下载地址:百度网盘下载
[JAVA] 张孝祥 J2SE高深讲解 视频教程 教学视频 百度云网盘下载    下载地址:百度网盘下载
[JAVA] 任小龙JDBC和MyBatis课程 视频教程 教学视频 百度网盘下载    下载地址:百度网盘下载
[JAVA] 智捷关东升老师Java系列视频之数据库部分 视频教程 教学视频 百度网盘下载    下载地址:百度网盘下载
[JAVA] 黑马JavaEE第15期 视频教程 教学视频 百度网盘下载    下载地址:百度网盘下载
Java教程|Java网上在线支付实战教程    下载地址:百度网盘下载
Java教程|OA+工作流实战视频教程    下载地址:百度网盘下载
Java教程|Activiti工作流视频教程    下载地址:百度网盘下载
Hibernate教程_Hibernate视频教程|黑马程序员    下载地址:百度网盘下载
Struts2教程_Struts2视频教程|黑马程序员    下载地址:百度网盘下载
Spring教程_Spring视频教程|黑马程序员    下载地址:百度网盘下载
Java教程SSH框架之综合项目开发    下载地址:百度网盘下载
原文:https://www.cnblogs.com/yedda/p/9898658.html