一个最简单的例子学会使用nodejs redis库进行数据库操作

要学会使用Redis数据库,总的先有个可用的数据库吧。这个只有大家自己想办法了,我用的是SAP云平台上的Redis实例,很多其他的云平台比如GCP,微软的Azure和亚马逊的AWS也都有Redis服务。

在nodejs应用里操作Redis很简单,使用nodejs的redis module即可,在package.json里引入Redis的依赖。


使用如下代码在nodejs应用里连接SAP云平台上的redis实例:

var scp = "redis://i042416:[email protected]:50431";
var redis = require("redis"),
    client = redis.createClient(scp); // by default localhost will be used!!

console.log("Redis connection to SCP server has been established.");

client.on("error", function (err) {
    console.log("Redis has meet with some trouble: " + err);
});

注意第3行的格式:

i042416是我的用户名,冒号后面是密码。@后面是Redis暴露的IP地址和端口号。

连接成功后,用第五行redis.createClient返回的client实例就可以进行redis数据库的CRUD了。

function test(callback){
    client.set("string key", "string val", redis.print);
    client.hset("hash key", "hashtest 1", "some value", redis.print);
    client.hset(["hash key", "hashtest 2", "some other value"], redis.print);
    client.hkeys("hash key", function (err, replies) {
        var replyForBrowser = "Hash entry size: " + replies.length;
        console.log(replies.length + " replies:");
        replies.forEach(function (reply, i) {
            console.log("    " + i + ": " + reply);
            replyForBrowser = replyForBrowser + "\n" + "index: " + i + " value: "
             + reply;
        });
        client.quit();
        callback(replyForBrowser);
    });
}

这段代码我在Redis里插入了两条键值对,然后紧接着读出来:

app.get('/redis', function (req, res) {

  var redisClient = require("./redisClient");
  
  function callback(response){
    // var response = "ok";//JSON.stringify(process.env);
    res.send(response);
  }
  redisClient.test(callback);
});

我通过redis这个url把上面的测试代码暴露到浏览器上:

测试发现能按照期望的工作,Redis里插入的键值对可以返回给浏览器:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":


你可能感兴趣的:(一个最简单的例子学会使用nodejs redis库进行数据库操作)