redis 实现直播聊天(后台逻辑)

博客内容介绍了如何使用Redis实现直播聊天功能的后台逻辑,包括发送和请求消息的接口设计,重点在于Redis的mget命令应用和key值设计。通过直播期数累加 incr 实现消息计数,消息key以直播期数和消息序号组合。用户前端可通过定期调用接口获取新消息。总结中强调了Redis的incr和mget命令,以及消息队列和过期时间的设定等优化策略。
摘要由CSDN通过智能技术生成

 

简单需求:直播的时候用户聊天的需求

后台实现:分为两个接口:发送消息接口和请求消息接口

主要点:redis的mget 的使用,

以及key值的设计

用直播期数【liveNum】作为当前期目前消息的总条数,使用incr在发送接口来累加总条数

每条消息的key:直播期数【liveNum】_当前消息第几条

实体类的属性

public class LiveChat {
   /**
    * 当前期的第几条数据
   */
   private Integer id;

   /**
    * 直播期数
    */
   private String liveNum;
   /**
    * 用户编号
    */
   private String userNo;
   /**
    * 内容
    */
   private String content;
}

 

②发送消息的代码

public boolean sendMessage(LiveChat liveChat) {
      
   //验证敏感词
   
   //非空验证
   
   //消息存到缓存
   String liveNum = liveChat.getLiveNum();

   ValueOperations valueOperations = redis.getValueOperations();
   //将当前消息累计到消息的总条数的
   Long increment = valueOperations.increment(liveNum, 1);
   StringBuilder builder = new StringBuilder(liveNum);
   builder.append("_");
   valueOperations.s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值