//encapsulation-redis.js文件
const redis = require('redis')// Version 4.0.6
class Redis{
constructor() {
this.client = redis.createClient()
this.client.on('error', err => {
console.log(err)
})
}
//建立链接
async connect() {
await this.client.connect('6379','localhost',{})
}
qiut() {
//断开链接
this.client.quit()
}
//添加数据
async set(key, value, time) {
//判断value值是否是对象类型
if (typeof value === 'object') {
value = JSON.stringify(value)
}
//time为过期时间,可选
time ? await this.client.set(key, value, {
EX: time,
NX: true
}) : await this.client.set(key, value)
}
//获取数据
async get(key) {
return new Promise((resolve, reject) => {
const data = this.client.get(key)
if (data) {
resolve(data)
} else {
reject(false)
}
})
}
//删除数据
async delete(key) {
await this.client.del(key)
}
}
module.exports = new Redis()
用法:
//引入
const redis = require('./encapsulation-redis.js')
//链接redis
await redis.connect()
//设置key
await redis.set('login', 'loginUser')
//设置过期时间 单位 秒
await redis.set('login', 'loginUser','10')
//写入对象 会将其转换为string类型
await redis.set('login', 'loginUser',{user:'123'})
//获取key
let result = await redis.get('login')
console.log(result)
//断开链接
redis.qiut()