node.js应用Redis数据库

node.js下使用Redis,首先:

1、有一台安装了Redis的服务器,当然,安装在本机也行

2、本机,也就是客户端,要装node.js

3、项目要安装nodejs_redis模块

注意第 3 点,不是在本机安装就行了,而是说,要在项目中安装(引用)。

方法是,DOS窗口,在项目目录下,输入

npm install redis

这样就将nodejs_redis下载一份,放到当前目录下了。看看,多了一个文件夹:node_modules\redis

编写以下代码,保存到当前目录下\hello.js

var redis = require("redis"),//召唤redis
/*
	连接redis数据库,createClient(port,host,options);
	如果REDIS在本机,端口又是默认,直接写createClient()即可
	redis.createClient() = redis.createClient(6379, '127.0.0.1', {})
*/
client = redis.createClient(6379,'192.168.159.128',{});
//如果需要验证,还要进行验证
//client.auth(password, callback);

// if you'd like to select database 3, instead of 0 (default), call
// client.select(3, function() { /* ... */ });

//错误监听?
client.on("error", function (err) {
    console.log("Error " + err);
});

client.set("string key", "string val", redis.print);//set "string key" "string val"
/*
	redis.print,回调函数,将redis的返回值显示出来。上一句执行结果,将返回“OK”	
*/
client.hset("hash key", "hashtest 1", "some value", redis.print);
client.hset(["hash key", "hashtest 2", "some other value"], redis.print);
//遍历哈希表"hash key"
client.hkeys("hash key", function (err, replies) {
    console.log(replies.length + " replies:");
    replies.forEach(function (reply, i) {
        console.log("    " + i + ": " + reply);
    });
client.hget("hash key","hashtest 1",redis.print);    

/*两种都可以断掉与redis的连接,
end()很粗暴,不管3721,一下子退出来了,上面那句获取哈希表"hash key"的某个元素值的表达式将没有结果返回
而quit()则是先将语句处理完毕再干净地退出,斯文得很
*/
//client.end();
client.quit();
});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员八阿哥

王老板Python面试(9):整理的最全 python常见面试题(基本必考)

1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于string、list、dict、tuple等这类容器对象,使用...

1471
来自专栏Java帮帮-微信公众号-技术文章全总结

Python常见面试题【悟空教程】

1.MySQL 数据库总结 MySQL 可以建多少个数据库,理论上是没有限制的,每一个数据库可以有上亿的对象,但是一般基于硬件要求、效率问题一般不超过64个, ...

1462
来自专栏大内老A

提供第三种代码生成方式——通过自定义BuildProvider为ASP.NET提供代码生成

之前写了一些关于代码生成的文章,提供了两种不同方式的代码生成解决方案,即CodeDOM+Custom Tool和T4。对于ASP.NET应用,你还有第三种选择—...

22110
来自专栏林德熙的博客

dot net core 使用 IPC 进程通信 原理例子序列化

一般都是使用 WCF 或 remoting 做远程通信,但是 dot net core 不支持 WCF 所以暂时我就只能使用 管道通信。

942
来自专栏Java3y

Struts2【拦截器】

什么是拦截器 拦截器Interceptor…..拦截器是Struts的概念,它与过滤器是类似的…可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Str...

3145
来自专栏Python攻城狮

MongoDB与python交互1.Pymongo2.安装3.使用4.mongoDB其它操作5.Mongodb与python交互6.完成命令行项目:学生信息管理(基于Python2.7)

PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式。

1293
来自专栏智能算法

Python学习(九)---- python中的线程

原文地址: https://blog.csdn.net/fgf00/article/details/52773459 编辑:智能算法,欢迎关注! 上期我们一起学...

1482
来自专栏前端知识分享

第113天:Ajax跨域请求解决方法

第五步:在监听函数中,判断readyState=4&&status=200表示请求成功

1221
来自专栏Java架构

前沪江高级架构师学习笔记分享:分布式框架设计与实现

1936
来自专栏zhangdd.com

redis集群启动警告问题的解决

1.The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/s...

691

扫码关注云+社区