counters.js
915 Bytes
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
'use strict';
const redis = require('redis');
const config = require('./config');
const redisClient = config.redis && redis.createClient(config.redis);
function composeKeyword(name) {
return `CHONGLEE_COUNTER_${name}}`;
}
exports.increment = (name) => {
redisClient && redisClient.INCR(composeKeyword(name), () => {});
}
exports.reset = (name) => {
redisClient && redisClient.DEL(composeKeyword(name), () => {});
}
exports.set = (name, value) => {
redisClient && redisClient.SET(composeKeyword(name), Number(value), () => {});
}
exports.get = (name) => {
return new Promise((resolve) => {
if (!redisClient) {
resolve(0);
return;
}
redisClient.GET(composeKeyword(name), (err, reply) => {
if (err) {
resolve(0);
return;
}
resolve(Number(reply) || 0);
});
});
}