Closed wocanbe closed 3 years ago
你自己在业务代码里加就行了啊,缓存这种东西根本跟底层无关。 你自己在外层用redis, 或者内部缓存渲染的结果就行了。前提是你用的是字符串而不是流 耗时都在接口io上,组件渲染的耗时跟io比几乎可以忽略。缓存接口结果比缓存组件有用多了 不推荐用lru这种东西去cache component,出了问题很难排查。
原来这儿的代码是
// ...
const defaultConfig = loadConfig()
const { renderToStream, renderToString } = createRenderer()
async function render<T=string> (ctx: ISSRContext, options?: UserConfig): Promise<T> {
const config = Object.assign({}, defaultConfig, options ?? {})
// ...
我没法在不修改库的情况下添加。
...我意思是你根本就不需要在这里加,为什么一定要在框架底层做缓存呢,上层完全可以做。底层做缓存出了bug你完全查不到
ssr天生就是动态的根本不适合做缓存,如果你大部分情况下是静态的或者你的数据在一段时间是不变的,你完全可以上层用redis缓存整个render返回的html或者接口数据。而不是去组件层面做缓存。
好的,理解。可以直接在controller里面缓存。
因为性能原因,想要对常用页面增加缓存,提高响应速度,降低服务器压力。但发现没有相关配置。希望能在
ssr-core-vue
的render
方法中增加相关配置。 示例1示例2