On this article we are going to add caching to our Node.js application using Redis.
We will install the recommended client for node.js as mentioned on the official Redis page.
npm install redis --save
Next we shall create our client connection
var redis = require('redis') var hostname = '127.0.0.1' var port = '6379' var password = 'yourpassword' var client = redis.createClient(port,hostname,{no_ready_check: true}) client.auth(password) client.on('connect', function() { console.log('Client was connected') })
The password provided on auth will be stashed and used on every connect.
Let’s see some basic actions
SMEMBERS actions
client.sadd('aset', 2) client.sadd('aset', 1) client.sadd('aset', 5) client.smembers('aset',function(err,reply) { console.log(reply) })
Get and Set actions
client.set('akey', "This is the value") client.get('akey',function(err,reply) { console.log(reply) })
Hash value actions
client.hset('hashone', 'fieldone', 'some value'); client.hset('hashone', 'fieldtwo', 'another value'); var hash = 'hashone' client.hkeys(hash, function (err, fields) { fields.forEach(function(field,i) { console.log('The field is '+field) client.hget(hash,field,function (err, value) { console.log('The content is '+value) }) }) });
List actions
client.rpush(['mylist', 'firstItem', 'secondItem'], function(err, listsize) { console.log(listsize) }); client.lrange('mylist',0,-1,function(err,values) { console.log(values) }) client.lpop('mylist',function(err,value) { console.log('Got '+value) })
Conclusion
The Redis client for Node.js is pretty straightforward and easy to get started.
Keep in mind that one connection is adequate. Redis is single threaded therefore there is no need in opening multiple connections.
You can refer to the github page for more examples and usage showcases.