Nodejs安装并使用Redis实现服务器缓存能力

一、环境准备

1. 安装redis客户端(windows为例)
下载地址:https://github.com/tporadowski/redis/releases

Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis
在这里插入图片描述
以C:\Program Files\Redis为例
进入文件夹,执行以下命令启动redis客户端

cd C:\Program Files\Redis
redis-server.exe redis.windows.conf

在这里插入图片描述
出现此界面,就是运行成功了,默认端口6379

2. 项目安装redis依赖

npm install redis -S

二、引入redis封装基本方法

1. 引入redis

const { createClient } = require("redis");

2. 创建redis客户端

const redisClient = createClient({
    url: 'redis://:123456@127.0.0.1:6379'
    /* 
    * redis://[[username][:password]@][host][:port][/db-number]
    * 写密码redis://:123456@127.0.0.1:6379/0 
    * 写用户redis://uername@127.0.0.1:6379/0  
    * 或者不写密码 redis://127.0.0.1:6379/0
    * 或者不写db_number redis://:127.0.0.1:6379
    * */
});

3. 连接redis

redisClient.on('ready', () => {
    console.log('redis is ready...')
})

redisClient.on('error', err => {
    console.log("err", err)
})

redisClient.connect()   // 连接

4. 封装redis
以验证码为例设置代码

function Redis() {
    // 设置验证码 过期时间默认5分钟
    this.setVerifyCodeChangeEmail = async (email, code, time = 5) => {
        let key = `VerifyCodeChangeEmail_${email}`
        await redisClient.set(key, code, {
            EX: time * 60 // 秒
        })
    }
	// 获取验证码
    this.getVerifyCodeChangeEmail = async (email) => {
        let key = `VerifyCodeChangeEmail_${email}`
        return (await redisClient.get(key).then(data => data)) || null;
    }

    // 删除验证码
    this.deleteVerifyCodeChangeEmail = async (email) => {
        let key = `VerifyCodeChangeEmail_${email}`
        return await redisClient.del(key);
    }
}

// 创建redis客户端实例并导出
const redis = new Redis();
module.exports = redis;

三、业务模块使用

下面以用户获取验证码业务为例展示步骤,由于业务细节不便泄漏,只展示使用步骤
1. 后台接口部分

// 引入封装的redis方法
const { setUserRelateVerifyCode } = require("../modules/redis");
// ......

// 生成验证码
let code = generateVerifyCode();

// 发送验证码 
let sendFlag = await sendMessageMail(email, "修改邮箱验证", code).then(data => data).catch(err => null);

// 发送失败 响应客户端
if (!sendFlag) {
	// ...
}

// ...
// ... 其他业务环节 ...
// ...

// 设置缓存 存入code
setVerifyCodeChangeEmail(email, code, config.codeTime).then(data => {
   // 业务完成
}).catch(err => errcb(err, req, res))

2. 用户点击获取验证码
在这里插入图片描述
3. 查看redis缓存的值
redis-cli命令行中查询结果如下:
在这里插入图片描述
好了,至此redis在node中的使用结束,如有其他疑问可以留言或者发送至邮箱
864823609@qq.com。

感谢阅读!

之前搞了一个公众号:大壮计算机科学与技术。闲置很久了,没什么用户,就是分享下日常和技术帖子,大家捧捧场。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值