当前位置: 首页 > article >正文

使用Redis实现用户关注博客的推模式

目录

一、思路

二、实现代码:


一、思路

发布者:

这里采用redis的zset结构,将键设置为被推送用户id,设置为博客id,score设置为时间戳

推送之前先查到当前发布博客用户的粉丝有哪些,然后去循环挨个推送

接受者:

直接诶是从订阅的zset中获取

二、实现代码:

伪代码(不完整)

发布者:

public R saveBlog(Blog blog){
    //1.获取登录用户
    .....
    //2.保存博客
    boolean isSuccess = save(blog);
    //3.查询笔记作者所有的粉丝
    List<Follow> follows = followService.query().eq("follow_user_id",user.getId()).list();
    //4.推送笔记到所有粉丝
    for(Follow follow : follows){
        //4.1获取粉丝id
        Long userId = follow.getUserId();
        //4.2推送
        String key = "feed:" + userId;
        stringRedisTemplate.opsForZSet().add(ket,blog.getId()
        .toString,System.currentTimeMillis());
    }
    //返回
    return R.ok();

}


http://www.kler.cn/a/309787.html

相关文章:

  • python数据写入excel文件
  • 稀疏视角CBCT重建的几何感知衰减学习|文献速递-基于深度学习的病灶分割与数据超分辨率
  • F5全新报告揭示AI时代API安全面临严峻挑战
  • 十九:Spring Boot 依赖(4)-- spring-boot-starter-security依赖详解
  • Linux——基础指令2 + 权限
  • js中import引入一个export值可以被修改。vue,react
  • Go 交叉编译
  • Jenkins部署若依项目
  • 开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略
  • 深度学习张量变换操作利器 einops 基础实践
  • 消息中间件有哪些常见类型
  • sql刷题常用函数
  • 微博计算架构实战
  • 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树
  • 【车载开发系列】ParaSoft单元测试环境配置(三)
  • 【原创】java+springboot+mysql高校社团网系统设计与实现
  • 【数据库】MySQL-基础篇-多表查询
  • 赋值运算符
  • 用Kimi输出流程图
  • MybatisPlus的一点了解
  • 深入Redis:分布式锁
  • [语言月赛 202408] 因友情而终结
  • 深圳国际VR/AR博览会圆满落下帷幕
  • 【C++ Primer Plus习题】16.8
  • yaml注入配置文件
  • 【ZYNQ】OV5640 图像采集与显示