123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- var Redis = require('ioredis'); //导入 安装好的 redis. npm i ioredis --save
- var { db_config } = require('../config/config.js') // 导入位置文件
- const logger = require('./logger')
- //redis 服务启动 /usr/local/bin/redis-server /usr/local/etc/redis.conf
- var port = db_config.redis.PORT
- var host = db_config.redis.HOST
- var username = db_config.redis.USERNAME
- var password = db_config.redis.PASSWORD
- var REDIS_INSTANCE;
- // username: username,
- // password: password,
- // logger.log('host , post', host, port, process.env.NODE_ENV)
- var opts;
- if (process.env.NODE_ENV == 'test') {
- opts = {
- port: port,
- host: host,
- connectTimeout: 10000,
- }
- REDIS_INSTANCE = new Redis.Cluster([opts]);
- } else if (process.env.NODE_ENV == 'dev') {
- opts = {
- port: port,
- host: host,
- password: password
- }
- // var new_opts = "redis://"+password+"@"+host+":"+port+"/0"
- // "redis://:authpassword@127.0.0.1:6380/4"
- // REDIS_INSTANCE = new Redis(opts);
- REDIS_INSTANCE = new Redis.Cluster([opts]);
- // REDIS_INSTANCE=new Redis.Cluster([opts]);
- } else if (process.env.NODE_ENV == 'prd') {
- opts = {
- port: port,
- host: host,
- connectTimeout: 10000,
- }
- REDIS_INSTANCE = new Redis.Cluster([opts]);
- }
- REDIS_INSTANCE.on('connect', () => {
- logger.log('connected to redis')
- })
- REDIS_INSTANCE.on('error', function (err) {
- logger.log('redis Error ', err);
- });
- function redis_set(key, value) {
- logger.log("redis set=", key,value);
- try {
- REDIS_INSTANCE.set(key, value);
- } catch (error) {
- logger.error('redis_set error:', key,value, error)
- return null;
- }
- }
- async function redis_get(key) {
- logger.log("redis get=", key);
- try {
- return await REDIS_INSTANCE.get(key);
- } catch (error) {
- logger.error('redis_get error:', key, error)
- return null;
- }
- }
- /**
- * 同步
- *
- * @param {*} key
- * @returns
- */
- async function readRedis(key) {
- return new Promise((resolve) => {
- // REDIS_INSTANCE.get(key)
- redis_get(key)
- .then(result => {
- console.log("redis_get=", result); // Prints "value"
- resolve(result);
- }).catch(e => {
- console.log("readRedis key error=", key, e); // Prints "value"
- });
- })
- }
- module.exports = {
- redis_set,
- redis_get,
- readRedis,
- }
|