本文主要是介绍实战学习NodeJS建站(5)—nodejs 访问 redis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
from:http://blog.csdn.net/qidong7/article/details/52888211
前提是你已经安装了nodejs环境。
node_redis是nodejs访问redis的客户端安装包,安装之后既可以访问redis数据库。命令:
[javascript] view plain copy
- npm install redis
nodejs操作Redis demo:
[javascript] view plain copy
- // 引入redis包
- var redis = require('redis');
- // 创建客户端;
- client = redis.createClient(6379,'127.0.0.1',{});
- //var client = redis.createClient(); //默认使用端口:6379,IP:127.0.0.1
- // 连接提示
- client.on("connect", function(error) {
- console.log("connect....");
- });
- // redis 链接错误提示;
- client.on("error", function(error) {
- console.log(error);
- });
- // redis的基本命令,设置key:value
- client.set("domain", "微信公众coder10", redis.print);
- // 根据key 获取 value
- client.get('domain', function(error, res){
- if(error) {
- console.log(error);
- } else {
- console.log(res);
- }
- // 关闭链接
- client.end();
- });
- /**
- * *设置 key - value
- **/
- client.set("domain", "coder10");
- client.set("domain", "coder10", redis.print);
- // 根据key 获取 value
- client.get('domain', function(error, res){
- console.log(res);
- });
- /**
- **设置hash值
- **第一个参数是key,后面的参数是成对出现,可以有多对,对应的是filed value
- **/
- // key = frameworks; field value [field1 value1 field2 valuew]
- client.hmset('frameworks', 'javascript', 'AngularJS', 'css', 'Bootstrap', 'node', 'Express');
- // 获取值
- client.hgetall('frameworks', function(err, res) {
- //结果:{ javascript: 'AngularJS', css: 'Bootstrap', node: 'Express' }
- console.log(res);
- });
- // 也可以使用这种方式
- client.hmset('frameworks', {
- 'javascript': 'AngularJS',
- 'css': 'Bootstrap',
- 'node': 'Express'
- });
- // 获取值
- client.hgetall('frameworks', function(err, res) {
- //结果:{ javascript: 'AngularJS', css: 'Bootstrap', node: 'Express' }
- console.log(res);
- });
- /**
- **保存set集合
- **sadd会将列表的第一个元素作为key,其他的作为value保存
- **/
- client.sadd(['myset', 'angularjs', 'backbonejs', 'emberjs'], function(err, reply) {
- console.log(reply); // 3
- });
- // 获取 set
- client.smembers('myset', function(err, res) {
- console.log(res);
- });
- /**
- **判断key是否存在
- **/
- client.exists('key', function(err, res) {
- if (res === 1) { // 存在
- console.log('exists');
- } else {
- console.log('doesn\'t exist');
- }
- });
- /**
- ** 删除key
- **/
- client.del('frameworks', function(err, res) {
- //删除成功返回 1
- console.log(res);
- });
- /**
- ** 设置key过期时间
- **/
- client.set('key1', 'val1');
- client.expire('key1', 30);//30 秒
- /**
- ** 自增1和自减1
- **/
- client.set('key2', 10);
- //增加1
- client.incr('key2', function(err, res) {
- console.log(res); // 11
- });
- //减去1
- client.decr('key2', function(err, res) {
- console.log(res); // 10
- });
- //增加5
- client.incrby('key2',5,function(err, res) {
- console.log(res); // 15
- });
- //减去10
- client.decrby('key2',10,function(err, res) {
- console.log(res); // 5
- });
更多接口参考
https://github.com/NodeRedis/node_redis
源码文件node_redis.js下载:
链接:http://pan.baidu.com/s/1i4NCAep
密码:mb42
这篇关于实战学习NodeJS建站(5)—nodejs 访问 redis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!