1.创建sql.config.js 配置文件 :

  var redis_db = {
"PORT":"",
"URL":"127.0.0.1",
"OPTIONS":{ } } module.exports = redis_db;

2 .创建 redis.config.js 配置文件

var sql = {};
var redis = require("redis");
var db = require("./sql.config"); /*client.on("error", function (err) {
console.log("Error :" , err);
});
*/
sql.getConnection = function(callback){
var client = redis.createClient(db.PORT, db.URL,db.OPTIONS);
client.on("error", function (err) {
callback(err,null)
});
client.on('connect', function(){
//console.log('Redis连接成功.');
callback(null,client)
})
} /*client.on('connect', function(){
console.log('Redis连接成功.');
})*/ /**
* 添加string类型的数据
* @param key 键
* @params value 值
* @params expire (过期时间,单位秒;可为空,为空表示不过期)
* @param callBack(err,result)
*/
sql.set = function(conn,key, value, expire, callback){ conn.set(key, value, function(err, result){ if (err) {
console.log(err);
callback(err,null);
return;
} if (!isNaN(expire) && expire > ) {
conn.expire(key, parseInt(expire));
} callback(null,result)
})
} /**
* 查询string类型的数据
* @param key 键
* @param callBack(err,result)
*/
sql.get = function(conn,key, callback){ conn.get(key, function(err,result){ if (err) {
console.error(err);
callback(err,null)
return;
} callback(null,result);
});
} sql.end = function(conn){
conn.end();
console.log("ok!")
} module.exports = sql;

3. 测试demo

var redis= require('./redis.config');

redis.getConnection(function(err,conn){
if(err){
console.log("Error:",err);
//conn.end()
}else{
redis.set(conn,'user2','czq','',function(err,result){
if(err){
console.log(err) return false;
}else{
//console.log(result)
}
})
redis.get(conn,'user2',function(err,result){
if(err){
console.log(err)
conn.end(conn)
return false;
}else{
console.log(result)
conn.end()
//redis.end(conn)
}
}) }
}) /*redis.get('user2',function(err,result){
if(err){
console.log(err) return false;
}else{
console.log(result)
}
})*/

node 中的redis使用的更多相关文章

  1. node.js使用redis储存session(详细步骤)

    转储session的原因 网上有许多session需要用数据库储存的原因,对我来说原因很简单,仅仅只是node的生产环境不允许将session存到服务器的内存中.会报一个内存溢出的风险警告.所以我决定 ...

  2. 提升node.js中使用redis的性能

    问题初现 某基于node.js开发的业务系统向外提供了一个dubbo服务,提供向第三方缓存查询.设置多项业务数据并聚合操作结果.在QPS达到800时(两台虚拟机,每台机器4Core8G4node进程) ...

  3. node.js中对 redis 的安装和基本操作

    一.win下安装redis https://github.com/MicrosoftArchive/redis/releases 下载Redis-x64-3.2.100.zip,然后解压,放到自定义目 ...

  4. 在centos7中安装redis,并通过node.js操作redis

    引言 最近在学习node.js 连接redis的模块,所以尝试了一下在虚拟机中安装cent OS7,并安装redis,并使用node.js 操作redis.所以顺便做个笔记. 如有不对的地方,欢迎大家 ...

  5. node中redis重连

    项目node中用到redis ,做了的moudle,但是有个问题,两台redis,一台挂了,redis能自动切换,我的项目却不会自动重连: 查了资料,redis本身是实现了重连机制啊,为什么不自动重连 ...

  6. 在kubernetes集群中创建redis主从多实例

    分类 > 正文 在kubernetes集群中创建redis主从多实例 redis-slave镜像制作 redis-master镜像制作 创建kube的配置文件yaml 继续使用上次实验环境 ht ...

  7. CentOS中搭建Redis伪分布式集群【转】

    解压redis 先到官网https://redis.io/下载redis安装包,然后在CentOS操作系统中解压该安装包: tar -zxvf redis-3.2.9.tar.gz 编译redis c ...

  8. 在express项目中使用redis

    在express项目中使用redis 准备工作 安装redis 安装redis桌面管理工具:Redis Desktop Manager 项目中安装redis:npm install redis 开始使 ...

  9. Java 开发 2.0: 现实世界中的 Redis

    原文地址:http://www.ibm.com/developerworks/cn/java/j-javadev2-22/ 之前,我已在本系列中讨论过 NoSQL 的概念,也介绍了一些与 Java 平 ...

随机推荐

  1. Spark操作

    ### scala源码 /* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.Spark ...

  2. @Requestbody@ApiParam @PathVariable @RequestParam三者区别

    一.问题描述 由于项目是前后端分离,因此后台使用的是spring boot,做成微服务,只暴露接口.接口设计风格为restful的风格,在get请求下,后台接收参数的注解为RequestBody时会报 ...

  3. QT源码解析笔记

    1. QT如何绘制控件的 QT的绘制控件在QStyleSheetStyle::DrawControl里面,这里会调用默认的QSS来绘制效果 2. 在设置一次QSS以后,将会触发polish事件,里面将 ...

  4. yii2 AR模型使用exists添加子查询与父查询关联

    有A,B两个表对应A_AR,B_AR两个模型B表interval_id对应A表id现在要查a表的数据,且没有code为a的子数据要求使用yii2的AR模型写查询: A_AR::find()->w ...

  5. jquery选中checkbox

    jquery选中checkbox: $(function(){ $("[value = bb]:checkbox").attr("checked", true) ...

  6. 项目开发bug记录

    项目开发中遇到了一个问题,类中出现未知属性 ‘ $jacocoData ’,准确的来说,实际上在集成测试阶段,系统自动运行测试用例时,抛出来的异常提示信息,但是在开发阶段是不存在的.这个问题是以前没有 ...

  7. iOS多线程系统整理 swift

    多线程   是一个应用程序内多个代码的执行路径,执行线程,同时在同一时间里执行不同的任务. 三种: 1.NSTread 2.Cocoa NSOperation (NSOperation,NSOpera ...

  8. 微信小程序:从本地相册选择图片或使用相机拍照。

    wx.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照. OBJECT参数说明: 示例代码: wx.chooseImage({ count: 1, // 默认9 sizeTyp ...

  9. Unicode字符集

    Unicode字符集的出现是为了弥补ASCII码只能表示128个字符的限制.在实际应用中,如若我们想显示汉字或日文等等,显然使用ASCII是不可能的.Unicode占用了两个字节,即16位,能表示的字 ...

  10. sonarque下载和安装使用

    参考地址: https://www.cnblogs.com/qiumingcheng/p/7253917.html https://www.cnblogs.com/cjsblog/p/10735800 ...