NodeRedis官方文档:https://github.com/NodeRedis/node_redis#bluebird-promises
本文讲述node如何链接redis 以及一些API的使用
本例子需要的工具:
node.js (自行下载) 至于如何安装各种版本的node,本人博客中另有文章介绍
redis (自行下载) 这个BAIDU上有很多 自行下载自己OS的版本
依赖的包:
安装链接redis所需依赖:
npm install redis
安装express:是 node常见web开发框架:
npm install express@4.15.2
进入正文
链接redis:
const redis = require('redis');
var client = redis.createClient(); // 创建客户端 == redis-cli
这里不显示配置就是使用默认的配置链接redis IP:127.0.0.1 HOST:6379 DATABASE:0
验证一下是否链接成功:
client.on('connect', function() {
console.log('Redis connected.') // 链接成功
});
client.on("error", function (err) {
console.log("Redis connect Error " + err); // 链接失败
});
断开链接:
client.quit();
其他的操作 根据Redis命令来
LIST:
client.llen('listName', (err, reply)=>{
console.log(reply.toString())
})
client.llen('listName', redis.print)
以上代码相当于在redis中查询list 的length 也就是查询名为listName的list的长度
第一种是使用callback的方式 第二种直接打印 Reply : 返回结果
如需使用其他命令如法炮制就可以了,比如
查询LINDEX : client.lindex('listName', 0, reply.print) // 打印 listName下标为0的值
获取LIST区间: client.lrange('listName', 0, -1, reply.print) // 打印listName下标从0到末尾的值
HASH:
client.hmset('hashName', field1, value1, field2, value2)
client.hset('hashName', field1, value1)
......
不一一列举。具体命令可以到 https://redis.io/commands 查询
总之client.命令(arguments)
附demo :
var app = require('express')();
var http = require('http').createServer(app);
var redis = require('redis'),
client = redis.createClient();
client.on('connect', function() {
console.log('Redis connected.')
});
client.on("error", function (err) {
console.log("Redis connect Error " + err);
});
client.set('foo', 'bar', redis.print)
client.get('foo', (err, reply)=>{
console.log('get foo:', reply.toString())
})
redis.quit()
app.get('/', function(req, res){
res.send('<h1>Hello world</h1>');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
运行:
保存文件名为test.js
使用命令 node test 运行
输出结果:
通过 127.0.0.1:3000 访问显示:
hello world