要学会使用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的原创文章,请关注公众号"汪子熙":