-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathredisInit.js
47 lines (40 loc) · 1.21 KB
/
redisInit.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const redis = require('redis')
const fs = require('fs')
const dbPort = process.env.REDIS_PORT || 15900
const dbHost =
process.env.REDIS_HOST ||
'redis-15900.c12.us-east-1-4.ec2.cloud.redislabs.com'
const dbPassword = process.env.REDIS_PASSWD
const dbUseSSL = process.env.REDIS_SSL || false
const dbKeyFile = process.env.REDIS_KEY || ''
const dbCertFile = process.env.REDIS_CERT || ''
const dbCaFile = process.env.REDIS_CA || ''
const encoding = 'ascii'
let redisClient = {}
if (dbUseSSL) {
const ssl = {
servername: dbHost,
port: dbPort,
key: fs.readFileSync(dbKeyFile, encoding),
cert: fs.readFileSync(dbCertFile, encoding),
ca: [fs.readFileSync(dbCaFile, encoding)],
}
redisClient = redis.createClient(dbPort, dbHost, { tls: ssl })
} else {
redisClient = redis.createClient(dbPort, dbHost)
}
if (dbPassword) {
redisClient.auth(dbPassword, function(err) {
if (err) throw err
})
}
console.log('Redis Database server is on ' + dbHost + ', port ' + dbPort)
redisClient.on('ready', function() {
console.log('Redis is ready')
})
redisClient.on('error', function(err) {
console.error('Error connecting to Redis: ' + err)
// eslint-disable-next-line no-process-exit
process.exit(1)
})
module.exports = redisClient