A hubot script to persist hubot's brain using redis
See src/RedisBrain.js
for full documentation.
In hubot project repo, run:
npm install hubot-redis-brain --save
Then add hubot-redis-brain to your external-scripts.json
:
[
"hubot-redis-brain"
]
hubot-redis-brain requires a redis server to work. It uses the REDIS_URL
environment variable for determining
where to connect to. The default is on localhost, port 6379 (ie the redis default).
The following attributes can be set using the REDIS_URL
- authentication
- hostname
- port
- key prefix
For example, export REDIS_URL=redis://:password@192.168.0.1:16379/prefix
would
authenticate with password
, connecting to 192.168.0.1
on port 16379
, and store
data using the prefix:storage
key.
For a UNIX domain socket, export REDIS_URL=redis://:password@/var/run/redis.sock?prefix
would authenticate with password
, connecting to /var/run/redis.sock
, and store data using the prefix:storage
key.
If you need to install and run your own, most package managers have a package for redis:
- Mac OS X with homebrew:
brew install redis
- Ubuntu/Debian with apt:
apt-get install redis-server
- Compile from source: http://redis.io/topics/quickstart
If you are using boxen to manage your environment,
hubot-redis-brain will automatically use the boxen-managed redis (ie by using BOXEN_REDIS_URL
).
If you are deploying on Heroku, you can add the Redis Cloud or Redis To Go addon to have automatically configure itself to use it:
Other redis addons would need to be configured using REDIS_URL
until support
is added to hubot-redis-brain (or hubot-redis-brain needs to be updated to look
for the environment variable the service uses)
If you are using Twemproxy to cluster redis, you need to turn off the redis ready check which uses the unsupported INFO cmd.
REDIS_NO_CHECK = 1