# Websocket与Redis结合
Redis:
const redis = require("redis")
const { promisifyAll } = require("bluebird")
const { redisOptions } = require("../config/index")
const redisClient = redis.createClient(redisOptions)
promisifyAll(redisClient)
// 对连接信息的监听
redisClient.on("connect", function() {
console.log("redis client is connected to server!")
})
// 对错误日志的打印
redisClient.on("error", function(err) {
console.log("redis client is error: " + err)
})
/**
* setValue方法
* @param {String} key 对象的属性
* @param {String} value 对象的值 JSON.stringfy -> Object
* @param {*} time 过期时间
*/
const setValue = function(key, value, time) {
if (time) {
redisClient.set(key, value, "EX", time, redis.print)
} else {
redisClient.set(key, value, redis.print)
}
}
/**
* getValue方法
* @param {String} key
* 返回是一个String,需要对对象形式的内容,使用JSON.parse
*/
const getValue = async function(key) {
const result = await redisClient.getAsync(key)
return result
}
/**
* 增加记数
* @param {String}} key
*/
const increase = async function(key) {
const result = await redisClient.incrAsync(key)
return result
}
const decrease = async function(key) {
const result = await redisClient.decrAsync(key)
return result
}
/**
* 返回所有相关reg的keys
* @param {String} reg 定义一个查询的正则表达式
*/
const getKeys = async function(reg) {
const result = await redisClient.keysAsync(reg + "*")
return result
}
const existKey = async function(key) {
const result = await redisClient.existsAsync(key)
return result
}
const deleteKey = async function(key) {
const result = await redisClient.delAsync(key)
return result
}
module.exports = {
setValue,
getValue,
increase,
decrease,
getKeys,
existKey,
deleteKey,
}
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84