精华内容
下载资源
问答
  • Redisnode.js连接池。 关于 node-redis-connection-pool是高级Redis管理对象。 它管理池中的多个连接,根据需要使用它们,并将释放活动连接的所有方面保持在对象内部,因此用户无需担心忘记的连接会浪费资源。 ...
  • node-redis-helper试图成为获得客户端连接的持久方法。 更多功能即将推出。 目前正在测试中,可能不应该使用:) 初始化 npm install node-redis-helper var redisOptions = { host : '127.0.0.1' , port : 6370 ...
  • node连接redis

    2017-02-16 15:08:57
    首先在A、B俩台服务器上安装redisnoderedis: http://blog.csdn.net/qq_36030412/article/details/53785360 node:http://blog.csdn.net/qq_36030412/article/details/53992195 1、在A服务器上修改redis....

    首先在A、B俩台服务器上安装redis和node:

    redis: http://blog.csdn.net/qq_36030412/article/details/53785360

    node:http://blog.csdn.net/qq_36030412/article/details/53992195

    1、在A服务器上修改redis.conf

    1.1、设置密码

    requirepass 123456

    1.2、通过密码连接

    ./bin/redis_cli  -a 123456

    1.3、通过config命令来设置密码以及获取当前密码
    1.127.0.0.1:6379[1]> config set requirepass 123456  
    2.OK  
    3.127.0.0.1:6379[1]> config get requirepass  
    4.1) "requirepass"  
    5.2) "123456"     

    1.4、设置让远程可以连接,注释redis.conf中的bind,进行重新启动,当进程中127.0.0.1变为*时就可以进行远程连接

    2、在B服务器上安装node_redis扩展

    npm install hiredis redis
    安装好以后我们创建app.js文件

    var redis = require('redis'),
            RDS_PORT = 6379,                //端口号  
            RDS_HOST = '101.201.65.190',    //服务器IP  要连接的A服务器redis  
            RDS_PWD = '123456',     //密码  
            RDS_OPTS = {},                  //设置项  
            client = redis.createClient(RDS_PORT,RDS_HOST,RDS_OPTS);
    client.auth(RDS_PWD,function(){
            console.log('通过认证');
    });
    client.on('connect',function(){
            client.set('author', 'Wilson',redis.print);
            client.get('author', redis.print);
            console.log('connect');
    });
    client.on('ready',function(err){
            console.log('ready');
    });
    
    运行node app.js



    还可以使用Django连接redis:

    http://django-redis-chs.readthedocs.io/zh_CN/latest/


    展开全文
  • RedisNode.js结合使用 在尝试优化应用程序时,我们首先要考虑的就是缓存。 缓存涉及将数据存储在高性能存储中(临时存储多次),以便可以在以后更快地检索这些数据。 Redis是一种高效的键值数据存储,在缓存中...
  • node.js Redis类库和代码事例 bluebird化 需要安装 redis bluebird
  • 主要介绍了教你如何用node连接redis的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • node.js连接redis

    千次阅读 2018-05-15 16:00:01
    从官网下载redis程序(zip压缩包),解压到D:\redis,启动...启动命令行程序,定位到D:\redis目录,执行redis-cli.exe,自动连接到本地服务器,输入 set name 'tom' 回车,输入get name 回车,输出'tom',说明redis...

    从官网下载redis程序(zip压缩包),解压到D:\redis,启动命令行,定位到D:\redis目录,执行redis-server.exe redis.windows.conf,启动redis服务。
    启动命令行程序,定位到D:\redis目录,执行redis-cli.exe,自动连接到本地服务器,输入 set name 'tom' 回车,输入get name 回车,输出'tom',说明redis正常工作。

    npm install -g async-redis
    新建redis.js:
    const redis = require('async-redis');
    
    var client = redis.createClient('6379', '127.0.0.1');
    
    var rdao = function(){};
    
    rdao.prototype.get = async  function (key){
        var res = await client.get(key);
    	return res;
    }
    
    rdao.prototype.set = async function(key, value){
        await client.set(key, value);
    }
    
    module.exports = new rdao();

    koa2中调用

    
    
    const rdao = require('../common/redis');
    ...
    router.get('/redis', async (ctx, next) => { await rdao.set('name', 'hello world'); var res = await rdao.get('name2'); if(!res) res = {} ctx.body = res; })

    展开全文
  • 本文主要是笔者最近学习node.js连接Redis和Mysql的方法,如果有什么问题欢迎大家进行讨论。 一、Redis 首先需要在该项目安装Redis npm i redis --save --registry=https://registry.npm.taobao.org 下面就是...

    本文主要是笔者最近学习node.js连接Redis和Mysql的方法,如果有什么问题欢迎大家进行讨论。

    一、Redis

    首先需要在该项目安装Redis

    npm i redis --save --registry=https://registry.npm.taobao.org

    下面就是连接方法:

    const redis = require ('redis');
    
    //创建客户端连接参数
    let REDIS_CONFIG;
    
    REDIS_CONFIG = {
        port: 6379,
        host: '127.0.0.1'
    
    };
    
    //第一个参数是端口port,第二个参数是host
    const redisClinet = redis.createClient(REDIS_CONFIG.port, REDIS_CONFIG.host);
    redisClinet.on('error', error =>{
        console.error(error);
    });
    
    
    function set(key, val) {
        //redis的string的key和val都是字符串,为了防止val是对象我们这里需要转换一下
        if (typeof  val === 'object'){
            val = JSON.stringify(val);
        }
        redisClinet.set(key, val, redis.print);
    }
    
    
    function get (key) {
        const promise = new Promise((reslove, reject) => {
            redisClinet.get(key, (error, val)=> {
                if(error){
                    reject(error);
                }
    
                if(val == null){
                    reslove(null);
                    return;
                }
                //这里的trt catch 仅仅是为了适配json对象的转换
                try {
                    reslove(
                        JSON.parse(val)
                    );
                }catch (e) {
                    reslove(val)
                }
            });
    
        });
    
        return promise;
    }
    
    module.exports = {
        set,
        get
    };

    使用方法:

    get("name").then(name =>{
       if(name == null){
           set('name','xiangzaixiansheng');
       } else {
           console.log(name);
       }
       });

     

    二、node.js操作MySql数据库

    安装mysql

    npm i mysql --registry=https://registry.npm.taobao.org
    const mysql = require('mysql');
    const { MYSQL_CONF} = require('../config/db');
    
    const con  = mysql.createConnection(MYSQL_CONF);
    
    //建立连接
    con.connect();
    
    //统一执行sql的方法
    function exec(sql) {
    
        const promise = new Promise((resolve,reject)=>{
            con.query(sql,(error, result)=>{
    
                if(error){
                    reject(error);
                }
                resolve(result);
            });
        });
    
        return promise;
    }
    
    
    //关闭连接
    
    //con.end();
    
    module.exports = { exec };

    配置文件

    这里需要注意的是环境变量const env = process.env.NODE_ENV,我们会根据不同的环境变量配置不同的参数。

    //获取环境变量
    const env = process.env.NODE_ENV;
    
    let  MYSQL_CONF;
    
    //开发环境的配置
    if(env === 'dev'){
    
        MYSQL_CONF = {
            host:'localhost',
            user:'root',
            password:'123456',
            port:'3306',
            database:'test'
        };
    }
    
    //正式线上环境的配置
    if (env === 'product'){
        MYSQL_CONF = {
            host:'localhost',
            user:'root',
            password:'123456',
            port:'3306',
            database:'test'
        };
    }
    
    module.exports = { MYSQL_CONF  };

    调用方法

    const sql = 'select * from message';
    exec(sql).then(result =>{
        console.log(result);
    
    })

    我们在执行完插入语句后,会返回一个result的结果,我们可以利用insertId这个数值。

    OkPacket {
      fieldCount: 0,
      affectedRows: 1,
      insertId: 0,
      serverStatus: 2,
      warningCount: 0,
      message: '',
      protocol41: true,
      changedRows: 0
    }

     

    三、npm安装模块出错的解决办法

    如果遇到npm安装模块出现错误,如下报错信息

    npm ERR! network This is a problem related to network connectivity.

    npm ERR! network In most cases you are behind a proxy or have bad network settings.

    npm ERR! network 

    npm ERR! network If you are behind a proxy, please make sure that the

    npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

    解决办法:

    npm config set https-proxy null
    npm config set registry http://registry.cnpmjs.org/
    npm install mysql --registry=https://registry.npm.taobao.org

     

    展开全文
  • Node.js连接Redis数据库以及封装

    千次阅读 2018-12-06 15:28:12
    很久没有写Node.js代码了,最近更新了自己的网站(www.wb233.cn),对之前的重新写了一遍升级了2.0版本。在网站中有这样一个功能,禁止一个IP频繁去发送留言,这里就用到了Redis,使用Redis存储IP和当前写入数据库的...

    很久没有写Node.js代码了,最近更新了自己的网站(www.wb233.cn),对之前的重新写了一遍升级了2.0版本。在网站中有这样一个功能,禁止一个IP频繁去发送留言,这里就用到了Redis,使用Redis存储IP和当前写入数据库的时间。这里直接上代码,不详细介绍Redis了。Redis的连接,插入,取出进行封装成module:

    var redisDb = {};
    var log4js = require('log4js');
    log4js.configure('../config/log4j.json');
    var logger = log4js.getLogger('redis');
    var redis = require("redis");
    var client = redis.createClient('6379', '127.0.0.1');
    
    client.on('error',function (err) {
        logger.error('redis error:'+err);
    });
    
    client.on('connect',function () {
        logger.info('redis连接成功...')
    });
    
    /**
     *
     * @param dbNum 库号
     * @param key 键
     * @param value 值
     * @param expire 过期时间(单位:秒,可为空,为空则不过期)
     * @param callback 回调
     */
    redisDb.set = function (dbNum,key,value,expire,callback) {
        client.select(dbNum,function (err) {
            if (err){
                logger.error('redis set 选库失败:'+err);
            }else {
                client.set(key,value,function (err,result) {
                    if (err){
                        logger.error('redis插入失败:'+err);
                        callback(err,null);
                        return
                    }
                    if (!isNaN(expire) && expire>0){
                        client.expire(key, parseInt(expire));
                    }
                    callback(null,result);
                })
            }
    
        })
    };
    
    redisDb.get = function (dbNum,key,callback) {
        client.select(dbNum,function (err) {
            if (err){
                logger.error('redis get 选库失败:'+err);
            }else {
                client.get(key,function (err,result) {
                    if (err){
                        logger.error('redis获取失败:'+err);
                        callback(err,null);
                        return
                    }
                    callback(null,result);
                })
            }
        })
    };
    
    module.exports = redisDb;
    

    使用方法:
    1、导入封装的方法模块,路径根据自己项目中的来获取

    var redisDb = require('../../modules/redis');
    

    2、get方法获取key对应的value值的使用

    redisDb.get('0', key, function (err, result) {
    	if(err){
    		logger.error(err)
    	}else{	
    		logger.info(result)
    	}
    }
    

    3、set方法的使用:

     redisDb.set('0', key, value, time, function (err, result) {
                                if (err) {
                                    logger.error('redis设置失败:' + err);                         
                                } else {
                                    logger.info( result);
                                    //设置成功
                                }
                            });
    

    4、对于使用方法中的参数,可以看封装类里面的参数说明。

    说明:
    1、除了在本地安装Redis服务以外,还要引入Node.js中Redis库,使用npm install redis安装。
    2、Redis有16个库,上述代码中的client.select()中的参数就是选择库号。
    3、在Redis设置值时可以设置过期时间,当到了过过期时间时,Redis服务会删除该数据。
    4、在Redis使用get方法获取value时,当key不存在的时候,result返回null。
    5、在Redis使用set方法设置key-value时,设置成功则result返回OK。
    6、Redis还有很多需要学习的地方,上述是个人使用过程中总结出来的,好了,就到这了。

    展开全文
  • [Redis]Node操作Redis

    2019-05-22 16:11:00
    Node操作Redis请使用node_redis ...GitHub网址https://github.com/NodeRedis/node_redis 使用说明 1. 连接Redis服务 var redis = require("redis"); // 使用createClient方式来连接服务器 var client ...
  • Node.JS 连接Redis操作

    2020-12-17 10:52:42
    var redis = require('redis'); var host = 'redis_host'; var port = 6379; var db = 0; var family = 4; var auth_pass = 'redis_password'; var dbredis = redis.createClient({ host: host, port: port, db...
  • https://github.com/NodeRedis/node_redis redis - a node.js redis client 这是node.js的一个完整且功能丰富的Redis客户端。它支持所有的Redis命令,并专注于高性能。 Install with: npminstallredis U...
  • Node.js bull Redis连接数过多

    千次阅读 2018-10-22 10:09:31
    遇到一个很大的坑, 每过一段时间, 都会遇到 redis 连接数过多的问题, 使用 Redis desktop 检测到每次使用消息队列, 客户端连接数都会加 2, 由此判断, 是每次添加到队列, 都新 new 一个 queue 对象, ...
  • node_redis 可让你在 Node.js 编程环境中连接并操作 Redis 上的数据。 示例代码: var redis = require("redis"), client = redis.createClient(); client.on("error", function (err) {... 标签:noderedis redis
  • 它所做的只是连接Redis 集群的节点,在发送任何命令之前,它使用HASH_SLOT = CRC16(key) mod 16384检查密钥在哪个插槽中,然后将命令发送到具有该插槽的节点。 安装 npm install redis-cluster 用法 该模块导出...
  • 安装并启动 ...启动redis服务 ./src/redis-server -p 端口号,默认端口为6379,可不带端口号启动 进入redis 客户端 ./src/redis-cli 关闭redis:进入客户端后,输入shutdown即可关闭redis服务 ...
  • 连接5.0版本redis连接失败解决方式可以参考以下解决 利用vi编辑器修改redis安装目录下的redis.conf配置文件 vi /redis安装目录/bin/redis.conf 修改以下两个配置 protected-mode yes 修改为 protected-mode no ...
  • Nodejs中,我们应该使用什么样的reids客户端呢? 什么样的redis client好用呢? Nodejs中应该使用redis pool?
  • 这是第六篇,开始编写后台接口,为前端接口提供提供基础,主要讲node,koa2,redis,mysql的连接和接口的编写。 本文的目录一,连接mysql二,连接redis三,登陆、注册接口的编写 一,连接mysql 我们先创建一个conf...
  • node.js 连接外网redis

    2017-02-16 12:05:15
    参考链接:nodejs 操作redis 安装完成之后 按照链接的步骤走  配置A服务器被连接 (只要设置密码以及开启端口能被访问就行) 1.1 设置验证密码 设置验证密码的方式有种: 1) 修改配置...
  • node+redis异步问题

    2019-12-25 13:32:16
    node+redis异步问题 最近在做毕设,后端用的node+redis+mysql,数据读取都是读redisnoderedis是异步的,有时候需要同步处理 方法如下: const key = require('../key') const redis = key.redis var sort =...
  • 第一种:直接获取redis连接,通过redis.()方法测试连接,如果返回PONG则证明连接正常 //1> jedis的入门代码案例,测试连接 @Test public void test01(){ //1. 获取java连接 redis的连接对象 Jedis jedis = new ...
  • node使用redis缓存

    千次阅读 2014-12-14 20:51:14
    最近想知道node相关的缓存,就找到了redis 然后自己实现了node api数据的缓存 我先写了个模块,当做redis的链接对象的工厂 新建了redis_factory.js var redis = require('redis'); var poolModule = require('...
  • Redis cluster 连接 (python)

    千次阅读 2019-11-23 12:02:09
    Redis cluster 连接 (python) 安装 pip install redis-py-cluster 官方 Demo >>> from rediscluster import RedisCluster >>> # Requires at least one node for cluster discovery. Multiple ...
  • Docker 1、Pull redis docker pull redis 2、创建容器,指定容器端口 docker run -p 56379:6379 redis ...* -p参数指定Host访问容器的端口,冒号左边为Host对应的...Node.js 1、npm安装redis npm install redis ...
  • 一 序  前一阵,阿里云的专家来公司分享阿里云的自研数据库polarDB,号称性能是MySQL 的 6 倍,当然抛去一开介绍的硬件、网络的顶配外,主要是数据底层是分布式存储的,天然的...正好网上看到一篇介绍Redis连接性...
  • https://github.com/NodeRedis/node-redis#node-redis 下载redis npm install redis --save 连接本地数据库 var redis =require('redis') // 连接本地端口 var client=redis.createClient('6379','127.0.0.1') ...
  • window 配置redis node 使用redis

    千次阅读 2016-08-15 14:58:32
    1下载window 版 https://github.com/ServiceStack/redis-windows 2、运行 下载完后,解压找到32或64位版本解压。放到d盘下。...window 版本下是redis.window.conf ,可以手动改成redis.conf 这个窗口要
  • nodejs连接有密码的redis连接有密码的mongoDB实战与排错

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,038
精华内容 14,815
关键字:

noderedis重新连接

redis 订阅