node项目接入redis

前言

做自己的小项目(聊天室)时,想开发历史消息(在线+离线)这个功能,但是聊天时反复操作数据库无疑对性能损耗是巨大的,我们需要更快的访问速度和更好的性能,所以选择将数据存储在内存中的redis。

安装

  1. 百度网盘下载地址:Redis-x64-3.2.100.zip 密码:kdfq
  2. 进入到解压的目录,下载
    部署服务
    redis-server --service-install redis.windows.conf
  3. 开启服务
    redis-server --service-start
    在这里插入图片描述

开发

1. node中使用redis

npm i redis --save

2. 引入


// 接入Redis,存储与获取历史消息(相比数据库)更快,损耗更少
const redis = require("redis");
//连接本地Redis服务
const client = redis.createClient(6379, "localhost");

//接入model层
const User = require("./models/User");

var connections = [];

// 用户建立连接
io.on("connect", function (socket) {
  connections.push(socket);
  console.log("连接建立!");

  // 用户发送消息,服务端监听并回复
  socket.on("sendMessage", function (data) {
    io.emit("newMessage",data);
    console.log(data);
    client.lpush("all_message",JSON.stringify(data), redis.print);
   
  });
});

// app获取全部历史消息
app.get('/user/history',(req,res)=>{
  client.lrange("all_message",  0, -1,(err, items) => {
    res.send({
      data:items
    })
  });
})

使用list这种数据结构就可以,将对象转化为字符串,存入到数组,进而存入redis。
取出来的时候,再转化为对象。


接下来,我们在云服务器上,安装部署

  1. 宝塔面板安装redis更加便捷
  2. 两边放行端口号6379,云服务器和阿里巴巴控制台远端防火墙打开
  3. 把你的代码部署上就好了,真鸡儿简单
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值