12345678910111213141516171819202122232425262728293031323334353637 |
- const promisify = require('util').promisify;
- module.exports = function(config) {
- const redis_lib =
- config.env === 'development' && config.redis_host === 'localhost'
- ? 'redis-mock'
- : 'redis';
- //eslint-disable-next-line security/detect-non-literal-require
- const redis = require(redis_lib);
- var client_config = {
- host: config.redis_host,
- port: config.redis_port,
- retry_strategy: options => {
- if (options.total_retry_time > config.redis_retry_time) {
- client.emit('error', 'Retry time exhausted');
- return new Error('Retry time exhausted');
- }
- return config.redis_retry_delay;
- }
- };
- if (config.redis_user != null && config.redis_user.length > 0)
- client_config.user = config.redis_user;
- if (config.redis_password != null && config.redis_password.length > 0)
- client_config.password = config.redis_password;
- if (config.redis_db != null && config.redis_db.length > 0)
- client_config.db = config.redis_db;
- const client = redis.createClient(client_config);
- client.ttlAsync = promisify(client.ttl);
- client.hgetallAsync = promisify(client.hgetall);
- client.hgetAsync = promisify(client.hget);
- client.pingAsync = promisify(client.ping);
- return client;
- };
|