Configure redis

This commit is contained in:
Nick Playfair 2025-06-07 00:59:45 +01:00
parent f3471e0d0d
commit 589ce42c50
3 changed files with 102 additions and 2 deletions

View File

@ -1,6 +1,19 @@
const Koa = require("koa");
const redis = require("redis");
const app = new Koa();
// Redis setup
const redisConfig = {
url: process.env.REDIS_URL,
database: 1,
};
(async () => {
let redisClient = redis.createClient(redisConfig);
redisClient.on("error", (error) => console.error(`Error: ${error}`));
await redisClient.connect();
})();
app.use(async (ctx) => {
ctx.body = `The code word is: ${process.env.TEST_STRING}`;
});

88
package-lock.json generated
View File

@ -9,7 +9,8 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"koa": "^3.0.0"
"koa": "^3.0.0",
"redis": "^5.5.6"
},
"devDependencies": {
"nodemon": "^3.1.10",
@ -19,6 +20,66 @@
"node": "20.x"
}
},
"node_modules/@redis/bloom": {
"version": "5.5.6",
"resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-5.5.6.tgz",
"integrity": "sha512-bNR3mxkwtfuCxNOzfV8B3R5zA1LiN57EH6zK4jVBIgzMzliNuReZXBFGnXvsi80/SYohajn78YdpYI+XNpqL+A==",
"license": "MIT",
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@redis/client": "^5.5.6"
}
},
"node_modules/@redis/client": {
"version": "5.5.6",
"resolved": "https://registry.npmjs.org/@redis/client/-/client-5.5.6.tgz",
"integrity": "sha512-M3Svdwt6oSfyfQdqEr0L2HOJH2vK7GgCFx1NfAQvpWAT4+ljoT1L5S5cKT3dA9NJrxrOPDkdoTPWJnIrGCOcmw==",
"license": "MIT",
"dependencies": {
"cluster-key-slot": "1.1.2"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@redis/json": {
"version": "5.5.6",
"resolved": "https://registry.npmjs.org/@redis/json/-/json-5.5.6.tgz",
"integrity": "sha512-AIsoe3SsGQagqAmSQHaqxEinm5oCWr7zxPWL90kKaEdLJ+zw8KBznf2i9oK0WUFP5pFssSQUXqnscQKe2amfDQ==",
"license": "MIT",
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@redis/client": "^5.5.6"
}
},
"node_modules/@redis/search": {
"version": "5.5.6",
"resolved": "https://registry.npmjs.org/@redis/search/-/search-5.5.6.tgz",
"integrity": "sha512-JSqasYqO0mVcHL7oxvbySRBBZYRYhFl3W7f0Da7BW8M/r0Z9wCiVrdjnN4/mKBpWZkoJT/iuisLUdPGhpKxBew==",
"license": "MIT",
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@redis/client": "^5.5.6"
}
},
"node_modules/@redis/time-series": {
"version": "5.5.6",
"resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-5.5.6.tgz",
"integrity": "sha512-jkpcgq3NOI3TX7xEAJ3JgesJTxAx7k0m6lNxNsYdEM8KOl+xj7GaB/0CbLkoricZDmFSEAz7ClA1iK9XkGHf+Q==",
"license": "MIT",
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@redis/client": "^5.5.6"
}
},
"node_modules/accepts": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@ -128,6 +189,15 @@
"fsevents": "~2.3.2"
}
},
"node_modules/cluster-key-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
"integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==",
"license": "Apache-2.0",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@ -644,6 +714,22 @@
"node": ">=8.10.0"
}
},
"node_modules/redis": {
"version": "5.5.6",
"resolved": "https://registry.npmjs.org/redis/-/redis-5.5.6.tgz",
"integrity": "sha512-hbpqBfcuhWHOS9YLNcXcJ4akNr7HFX61Dq3JuFZ9S7uU7C7kvnzuH2PDIXOP62A3eevvACoG8UacuXP3N07xdg==",
"license": "MIT",
"dependencies": {
"@redis/bloom": "5.5.6",
"@redis/client": "5.5.6",
"@redis/json": "5.5.6",
"@redis/search": "5.5.6",
"@redis/time-series": "5.5.6"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",

View File

@ -18,6 +18,7 @@
"prettier": "^3.5.3"
},
"dependencies": {
"koa": "^3.0.0"
"koa": "^3.0.0",
"redis": "^5.5.6"
}
}