2016-12-23 18:13:52 +01:00
|
|
|
{
|
2017-06-23 10:46:44 +02:00
|
|
|
"name": "ssr-caching",
|
|
|
|
"version": "1.0.0",
|
2016-12-23 18:13:52 +01:00
|
|
|
"scripts": {
|
2016-12-28 19:12:24 +01:00
|
|
|
"dev": "node server.js",
|
|
|
|
"build": "next build",
|
2020-08-30 08:53:29 +02:00
|
|
|
"start": "cross-env NODE_ENV=production node server.js"
|
2016-12-23 18:13:52 +01:00
|
|
|
},
|
|
|
|
"dependencies": {
|
Use cacheable-response for ssr (#6393)
Hello,
I have been using next.js for a while in a bunch of projects, so first for all thanks for all the vibrant effort around the project 🖤.
Always I see the server side next.js approach as an advantage, but also a weakness for the extra resources you need to have, specially comparing how cheap is a client side app.
In order to do my things cheaper, I started using the SSR pattern you suggested in your examples, so useful! It saves time and resources.
However, it was *too simple*. In a real production scenario, you need a bit more, specially related with send the right response headers to keep the rest of external network agent updated of your cache state.
I started a tiny script code for doing that; basically, I copy/paste it on my ssr projects.
Now, after a time, I think it's worth it publish it as [cacheable-response](https://github.com/Kikobeats/cacheable-response) module.
The PR is for adding the module leverage into the next.js ssr example.
It's doing the same, plus:
- be possible use a multi storage cache (memory by default; mongodb, redis, mysql, supported).
- sending `cache-control` response headers.
- sending `X-Cache-Expired-At`, just a humanize way to see the expiration time.
- support for forcing invalidation via `force=true` query parameter.
I hope you like it 🙂
2019-02-27 13:14:50 +01:00
|
|
|
"cacheable-response": "^1.1.0",
|
2020-08-30 08:53:29 +02:00
|
|
|
"cross-env": "^7.0.2",
|
2016-12-23 18:13:52 +01:00
|
|
|
"express": "^4.14.0",
|
2017-04-03 06:16:35 +02:00
|
|
|
"next": "latest",
|
2019-01-05 12:19:27 +01:00
|
|
|
"react": "^16.7.0",
|
|
|
|
"react-dom": "^16.7.0"
|
2018-05-14 00:00:37 +02:00
|
|
|
},
|
2020-08-30 04:32:35 +02:00
|
|
|
"license": "MIT"
|
2019-05-29 13:57:26 +02:00
|
|
|
}
|