redistemplate实现点赞相关功能

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

java 复制代码
@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();
    }
}
相关推荐
888CC++8 分钟前
java 并发编程
java·开发语言·python
无风听海26 分钟前
JSON Web Token(JWT)完全指南
java·前端·json
JAVA社区1 小时前
Java高级全套教程(十一)—— Kubernetes 超详细企业级实战详解
java·运维·微服务·容器·面试·kubernetes
在繁华处2 小时前
Java从零到熟练(九):并发编程基础
java·开发语言
木头程序员3 小时前
SSM框架学习笔记
java·开发语言·mysql·spring·maven
李白你好3 小时前
页面资产梳理 · 技术指纹识别 · Spring 端点探测
java·后端·spring
一起逃去看海吧3 小时前
dify-03
java·linux·开发语言
我是一颗柠檬3 小时前
【Java后端技术亮点】热Key探测与本地缓存二级防护:Redis热点问题的终极解决方案
java·redis·后端·缓存·中间件
Refrain_zc4 小时前
Android 音视频通话核心 —— 音频编码(AAC)完整解析
java
cfm_29144 小时前
Redis高并发缓存架构设计与性能优化实战
redis·缓存·性能优化