diff --git a/examples/ssr-caching/README.md b/examples/ssr-caching/README.md new file mode 100644 index 00000000..2b36134b --- /dev/null +++ b/examples/ssr-caching/README.md @@ -0,0 +1,31 @@ + +# Example app where it caches SSR'ed pages in the memory + +## How to use + +Download the example (or clone the repo)[https://github.com/zeit/next.js.git]: + +```bash +curl https://codeload.github.com/zeit/next.js/tar.gz/master | tar -xz --strip=2 next.js-master/examples/ssr-caching +cd ssr-caching +``` + +Install it and run: + +```bash +npm install +npm run dev +``` + +Deploy it to the cloud with [now](https://zeit.co/now) ([download](https://zeit.co/download)) + +```bash +now +``` + +## The idea behind the example + +React Server Side rendering is very costly and takes a lot of server's CPU power for that. One of the best solutions for this problem is cache already rendered pages. +That's what this example demonstrate. + +This app uses Next's [custom server and routing](https://github.com/zeit/next.js#custom-server-and-routing) mode. It also uses [express](https://expressjs.com/) to handle routing and page serving. diff --git a/examples/ssr-caching/package.json b/examples/ssr-caching/package.json new file mode 100644 index 00000000..a709de48 --- /dev/null +++ b/examples/ssr-caching/package.json @@ -0,0 +1,10 @@ +{ + "scripts": { + "start": "node server.js" + }, + "dependencies": { + "express": "^4.14.0", + "lru-cache": "^4.0.2", + "next": "^2.0.0-beta" + } +} diff --git a/examples/ssr-caching/pages/blog.js b/examples/ssr-caching/pages/blog.js new file mode 100644 index 00000000..0ad84704 --- /dev/null +++ b/examples/ssr-caching/pages/blog.js @@ -0,0 +1,17 @@ +import React from 'react' + +export default class extends React.Component { + static getInitialProps ({ query: { id } }) { + return { id } + } + + render () { + return
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua. +
+