- Install Node, Yarn, Redis from links above or via command line
- Install Node dependencies
yarn
- Set up environment variables
cp .env.example .env
- Run Redis server
redis-server
- Start Node server
yarn dev
- Call APIs via Postman or browser
yarn test
- When there is no cache upon the first API call, all character ids are fetched from the external Marvel API
- Then they are stored in an object together with a cached date in Redis
{
"characters": [1, 2, 3],
"timestamp": "2021-05-16"
}
- When cache is found upon subsequent API call, all character ids are extracted from Redis, together with the timestamp
- The timestamp is used to call the external Marvel API by being passed in as
modifiedSince
to fetch any additional characters that have been added since the cached date