当前位置: 首页 > 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/news/309787.html

相关文章:

  • 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 图像采集与显示
  • 【Linux】权限理解(超详细)
  • 【与C++的邂逅】--- C++的IO流
  • sqlgun靶场训练
  • 【机器学习】--- 自然语言推理(NLI)
  • SPI软件模拟读写W25Q64
  • Qt常用控件——QLCDNumber
  • scantf
  • Linux--守护进程与会话
  • Java 中 List 常用类和数据结构详解及案例示范
  • 基于python+django+vue的外卖管理系统