skazhy
skazhy

Reputation: 4651

Using redis with node.js (express)

I am learning node.js (and express framework) & here is a basic newbie question about redis & node.js. How to pass redis data to templates? What should I correct in my script, so I could display the value of teststring in a template?

app.get('/', function(req, res){
  res.render('index', {
    test: redisclient.get("teststring"),
  });
});

Thanks in advance!

Upvotes: 1

Views: 2715

Answers (1)

yojimbo87
yojimbo87

Reputation: 68275

Since node.js modules (including the one for redis) tends to be non-blocking and asynchronous, they are returning results in callbacks. Try it this way (I also recommend to read this article regarding asynchronous code and callbacks):

app.get('/', function(req, res) {
  redisclient.get("teststring", function(error, response) {
    if(response) {
      res.render('index', {
        test: response,
      });
    } else {
      res.render('index', {
        test: error,
      });
    }
  });
});

Upvotes: 5

Related Questions