From b6ff35853e39c2fa3c0be4e41b6092ebdc233cbf Mon Sep 17 00:00:00 2001 From: Chris Patterson Date: Fri, 16 Aug 2019 09:19:33 -0400 Subject: [PATCH] Initial redis example --- .github/workflows/redis-service.yml | 44 +++++++++++++++++++++++++++++ redis/client.js | 19 +++++++++++++ redis/package-lock.json | 31 ++++++++++++++++++++ redis/package.json | 5 ++++ 4 files changed, 99 insertions(+) create mode 100644 .github/workflows/redis-service.yml create mode 100644 redis/client.js create mode 100644 redis/package-lock.json create mode 100644 redis/package.json diff --git a/.github/workflows/redis-service.yml b/.github/workflows/redis-service.yml new file mode 100644 index 0000000..7b39ad1 --- /dev/null +++ b/.github/workflows/redis-service.yml @@ -0,0 +1,44 @@ +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + container-job: + runs-on: ubuntu-latest + + container: + image: node:10.16-jessie + + services: + redis: + image: redis + ports: + - 6379:6379 + + steps: + - uses: actions/checkout@v1 + - run: node client.js + env: + REDIS_HOST: redis + REDIS_PORT: ${{ job.services.redis.ports[6379] }} + + vm-job: + runs-on: ubuntu-latest + + services: + redis: + image: redis + ports: + - 6379/tcp + + steps: + - uses: actions/checkout@v1 + - run: node client.js + working-directory: ./redis + env: + REDIS_HOST: localhost + REDIS_PORT: ${{ job.services.redis.ports[6379] }} \ No newline at end of file diff --git a/redis/client.js b/redis/client.js new file mode 100644 index 0000000..8705238 --- /dev/null +++ b/redis/client.js @@ -0,0 +1,19 @@ + +const redis = require("redis"); + +redisClient = redis.createClient(process.env.REDIS_PORT, process.env.REDIS_HOST); + +redisClient.on("error", function(err) { + console.log("Error " + err); +}); + +redisClient.set("string key", "string val", redis.print); +redisClient.hset("hash key", "hashtest 1", "some value", redis.print); +redisClient.hset(["hash key", "hashtest 2", "some other value"], redis.print); +redisClient.hkeys("hash key", function (err, replies) { + console.log(replies.length + " replies:"); + replies.forEach(function (reply, i) { + console.log(" " + i + ": " + reply); + }); + redisClient.quit(); +}); diff --git a/redis/package-lock.json b/redis/package-lock.json new file mode 100644 index 0000000..7b9f89d --- /dev/null +++ b/redis/package-lock.json @@ -0,0 +1,31 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "double-ended-queue": { + "version": "2.1.0-0", + "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", + "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=" + }, + "redis": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", + "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", + "requires": { + "double-ended-queue": "^2.1.0-0", + "redis-commands": "^1.2.0", + "redis-parser": "^2.6.0" + } + }, + "redis-commands": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz", + "integrity": "sha512-6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg==" + }, + "redis-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", + "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=" + } + } +} diff --git a/redis/package.json b/redis/package.json new file mode 100644 index 0000000..90d2d17 --- /dev/null +++ b/redis/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "redis": "^2.8.0" + } +}