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

server/2024/9/23 17:31:14/

目录

一、思路

二、实现代码:


一、思路

发布者:

这里采用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获取粉丝idLong userId = follow.getUserId();//4.2推送String key = "feed:" + userId;stringRedisTemplate.opsForZSet().add(ket,blog.getId().toString,System.currentTimeMillis());}//返回return R.ok();}


http://www.ppmy.cn/server/120892.html

相关文章

如何将 java.nio.ByteBuffer 转为 String

如何将 java.nio.ByteBuffer 转为 String 方法1: newString()方法结合ByteBuffer的array()方法, 忽略是否flip()过 用String的 public String(byte[] bytes, int offset, int length, Charset charset)方法 和 ByteBuffer的array()方法 长度在取 bbf.position()0?bbf.limit(…

银河麒麟桌面操作系统V10(SP1)离线升级SSH(OpenSSH)服务

目录 前言 准备工作 准备与目标服务器相同版本的操作系统 准备编译依赖包 下载OpenSSL源码包 下载OpenSSH源码包 升级OpenSSH服务 查看当前版本信息 安装编译依赖包 安装OpenSSL 安装OpenSSH 前言 OpenSSH是一个广泛使用的开源SSH(安全壳)协议的实现,它提供了安…

Android对象池的深入理解和使用

参考文献&#xff1a;https://www.jianshu.com/p/eb04e4e1869d 判断对象是否可以被回收 垃圾收集算法 内存分配与回收策略

安卓13长按电源按键直接关机 andriod13不显示关机对话框直接关机

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 有些设备需要在长按电源键的时候,直接关机。不需要弹出对话框进行询问。 2.问题分析 过滤电源按键,需要在系统里面处理的话,那么我们需要熟悉android的事件分发,然后再…

ARM概念

一.CPU CPU&#xff1a;计算机的核心部件&#xff0c;负责执行指令和处理数据。它可以被视为计算机的“大脑”&#xff0c;负责运算、控制和数据传输等任务。 SoC&#xff08;系统级芯片&#xff09;是将多个组件集成在一个芯片上的设计&#xff0c;通常包括CPU、GPU、内存、…

关于less的基本使用

1、介绍及概述 1.1、解释 less 是方便开发人员书写CSS的一门预处理语言。浏览器只认识html /css /js格式的文件&#xff0c;所以直接引入.less文件&#xff0c;没有任何的效果&#xff0c;需要把less文件转换成css文件 1.2、概述 CSS弊端&#xff1a; 没有逻辑性、变量、函…

[数据集][目标检测]棉花叶子病害检测数据集VOC+YOLO格式977张22类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;977 标注数量(xml文件个数)&#xff1a;977 标注数量(txt文件个数)&#xff1a;977 标注类别…

语言的复合语句

复合语句有时被称为块语句&#xff0c;在编程语言世界占据重要的作用。最早Algol 60提出复合语句概念&#xff0c;直接影响了后面几乎所有编程语言。 为了支持一种条件下多条语句的执行&#xff0c;编程语言引入了”复合语句”。思想很简单&#xff0c;对于一般情况下单条语句…