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

redistemplate实现点赞相关功能

        使用Redis的SET数据结构来存储每个实体的点赞用户ID列表,方便进行点赞数量的计数和用户点赞状态的检查。以下是一个小demo,只提供简单思路。

@Service
public class LikeService {


    @Autowired
    private RedisTemplate redisTemplate;

    //点赞
    public Long like(String userId,String entityId){
        String key = "like:" + entityId;
        return redisTemplate.opsForSet().add(key,userId) == 1L ? 1L : 0L;
    }

    //取消点赞
    public Long unLike(String userId,String entityId){
        String key = "like:" + entityId;
        return redisTemplate.opsForSet().remove(key,userId) == 1L ? 1L : 0L;
    }

    //查询点赞数量
    public Long isLiked(String userId,String entityId){
        String key = "like:" + entityId;
        return redisTemplate.opsForSet().remove(key,userId) == 1L ? 1L : 0L;
    }

    //查询用户点赞状态
    public Long countLikes(String entityId){
        String key = "like:" + entityId;
        return redisTemplate.opsForSet().size(key).longValue();
    }
}


http://www.kler.cn/news/341734.html

相关文章:

  • 240604 模板进阶
  • 人检测-目标检测数据集(包括VOC格式、YOLO格式)
  • 每日C#语法题
  • 5.toString()、构造方法、垃圾回收、静态变量与静态方法、单例设计模式、内部类
  • 大贤3D家谱-一键寻找家谱本源
  • 逼近理论及应用精解【11】
  • 11.1 Linux_线程_线程相关函数
  • 多模态方法总结
  • OpenStack Yoga版安装笔记(十六)Openstack网络理解
  • Nuxt.js 应用中的 page:transition:finish 钩子详解
  • Linux系统——硬盘操作
  • 【通过WSL2安装Ubuntu24.04系统及图形化界面】
  • 代码随想录算法训练营Day19
  • 跨境电商独立站||代码建站和SaaS建站的区别
  • 毕业设计 大数据电影数据分析与可视化系统
  • 前端框架选择指南
  • C语言函数栈帧的创建与销毁(32)
  • vue2中组件注册后,调用时如何命名?组件传参时参数名称如何命名?
  • Redis 排行榜:实现、操作与性能优化
  • 使用 Vue 官方脚手架初始化 Vue3 项目