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();
    }
}
相关推荐
信仰_27399324316 分钟前
Redis红锁
数据库·redis·缓存
A阳俊yi35 分钟前
Spring Data JPA
java·开发语言
小王不爱笑13238 分钟前
Spring AOP(AOP+JDBC 模板 + 转账案例)
java·后端·spring
遇印记44 分钟前
蓝桥java蜗牛
java·学习·蓝桥杯
m0_565611131 小时前
Java-泛型
java·windows
张np1 小时前
java基础-集合接口(Collection)
java·开发语言
jakeswang1 小时前
ServletLess架构简介
java·后端·servletless
搬山境KL攻城狮2 小时前
maven 私服上传jar
java·maven·jar
q***56382 小时前
Spring Boot--@PathVariable、@RequestParam、@RequestBody
java·spring boot·后端
爬山算法2 小时前
Redis(120)Redis的常见错误如何处理?
数据库·redis·缓存