最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to enable cache for getServerSideProps? - Stack Overflow

programmeradmin0浏览0评论

We have few pages and components as server side rendering.

We were trying to use cache for few API responses.

export async function getServerSideProps(context) {
   const res = await getRequest(API.home)
   return {
     props: {
       "home": res?.data?.result
     },
   }
}

Next.js version is 11.1.

Here can someone please suggest how can we implement cache?

We have few pages and components as server side rendering.

We were trying to use cache for few API responses.

export async function getServerSideProps(context) {
   const res = await getRequest(API.home)
   return {
     props: {
       "home": res?.data?.result
     },
   }
}

Next.js version is 11.1.

Here can someone please suggest how can we implement cache?

Share Improve this question edited Mar 3, 2022 at 10:24 juliomalves 50.3k23 gold badges177 silver badges168 bronze badges asked Mar 3, 2022 at 6:36 jpkjpk 5102 gold badges4 silver badges15 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 17

You can set the Cache-Control header inside getServerSideProps using res.setHeader.

export async function getServerSideProps(context) {
    // Add whatever `Cache-Control` value you want here
    context.res.setHeader(
        'Cache-Control',
        'public, s-maxage=10, stale-while-revalidate=59'
    )
    const res = await getRequest(API.home)
    return {
        props: {
            home: res?.data?.result
        }
    }
}

Setting a Cache-Control value only works in production mode, as the header will be overwritten in development mode.

See Caching with Server-Side Rendering documentation for more details.

发布评论

评论列表(0)

  1. 暂无评论