# hapi-redis-connection **Repository Path**: mirrors_dwyl/hapi-redis-connection ## Basic Information - **Project Name**: hapi-redis-connection - **Description**: :rocket: Register once and use Redis anywhere in your Hapi application/route handlers. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hapi-redis-connection [![Build Status](https://travis-ci.org/dwyl/hapi-redis-connection.svg?branch=master)](https://travis-ci.org/dwyl/hapi-redis-connection) [![codecov](https://codecov.io/gh/dwyl/hapi-redis-connection/branch/master/graph/badge.svg)](https://codecov.io/gh/dwyl/hapi-redis-connection) [![Code Climate](https://codeclimate.com/github/dwyl/hapi-redis-connection/badges/gpa.svg)](https://codeclimate.com/github/dwyl/hapi-redis-connection) [![dependencies Status](https://david-dm.org/dwyl/hapi-redis-connection/status.svg)](https://david-dm.org/dwyl/hapi-redis-connection) [![devDependencies Status](https://david-dm.org/dwyl/hapi-redis-connection/dev-status.svg)](https://david-dm.org/dwyl/hapi-redis-connection?type=dev) ![dilbert_in-memory](https://cloud.githubusercontent.com/assets/194400/17288192/05bed3d6-57d4-11e6-8870-19548218ca9e.jpg) ## *Why*? Redis is a *great* place to store data you need *fast* access to in your Hapi app. If you have many route handlers in separate files it can be *tedious* to `require()` (*or `import` if you prefer*) the `redis` module and establish a connection in each one ... so we created a tiny Plugin that gives you access to Redis in all your routes. ## *What*? A simple hapi module which makes a connection to your Redis store available anywhere in your Hapi server. ## *How*? ### 1. Download/Install Install the plugin/package from NPM: ```sh npm install hapi-redis-connection --save ``` ### 2. *Intialise* the plugin in your Hapi Server ```js server.register({ // register all your plugins register: require('hapi-redis-connection') // no options required }, function (err) { if (err) { // handle plugin startup error } }); ``` ### 3. *Use* `hapi-redis-connection` in your Route Handler ```js server.route({ method: 'GET', path: '/', handler: function(request, reply) { request.redis.get('homepage', function(err, result) { console.log(err, result); return reply(result); }); } }); ``` > If you want more usage examples, ask! :wink: ### Environment Variable If you want to use a Redis server from a 3rd Party Provider, e.g: Redis Cloud you will need to export an environment variable with the URL of the server e.g: ```sh export REDISCLOUD_URL=redis://rediscloud:password@redis-server.com ``` If you do not set a `REDISCLOUD_URL` the plugin will attempt to connect to redis on your localhost. ## Other Redis Providers? At *present* we are using [Redis Cloud](https://github.com/dwyl/learn-redis#which-redis-as-a-service-heroku-addon) for our Hapi apps because they have a great service at an affordable price. If you are planning on using another provider e.g. AWS ElastiCache (Redis), ***please let us know***! https://github.com/dwyl/redis-connection/issues ### Implementation Notes This package uses: [`redis-connection`](https://github.com/dwyl/redis-connection) which in turn exposes [`node_redis`](https://github.com/NodeRedis/node_redis) (*feature complete & high performance Redis client*) > Connecting to Redis Cloud is tested in: https://git.io/v6vTf