node操作redis(函数Promise风格封装以及设置过期时间)
⭐下载安装部分
1. redis下载地址
https://gitee.com/niekaiyu/redis/blob/master/Redis-x64-3.2.100.msi
2. 安装redis
一直下一步就好了
3. 启动redis
win + r
输入 services.msc
找到 redis
双击打开面板之后 再点击 启动
即可
⭐node部分
1. 下载redis包
npm i redis -S
2. 封装函数
const redis = require('redis');
const port = 6379;
const host = "127.0.0.1";
// 你设置的redis密码
const password = 'xxxx';
/**
* 设置值,并设置过期时间
* @param {String} key 键
* @param {String} value 值(Object请使用JSON.stringify()包裹)
* @param {Number} expire 过期时间(单位: 秒)
*/
const redisSet = (key, value, expire) => new Promise((resolve, reject) => {
const client = redis.createClient(port, host);
client.auth(password);
client.on('connect', () => {
client.set(key, value, (err, reply) => {
if (err) throw err;
else resolve(reply);
client.quit();
})
client.expire(key, expire); // expire 过期时间(秒)
})
})
// 获取值
const redisGet = key => new Promise((resolve, reject) => {
const client = redis.createClient(port, host);
client.auth(password);
client.on('connect', () => {
client.get(key, (err, reply) => {
if (err) throw err;
else resolve(reply);
client.quit();
})
})
})
module.exports = {
redisSet,
redisGet
}
3. 使用封装函数
redisSet('/test', JSON.stringify({
name: 'xiaoyu66' }), 20).then(reply => {
// reply == "ok" && console.log('设置成功');
redisGet('/test').then(value => {
console.log(value); // 打印获取的值
}).catch(err => {
console.log(err);
})
}).catch(err => {
console.log(err);
})
4. run code 运行结果
5. 服务器高频访问api接口导致被封IP,可以使用此方法缓存请求数据