Redis文章点赞简单实现

概述

demo

代码如下

@PostConstruct
    public void init() {
          
   
        RedisSerializer redisSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(redisSerializer);
        redisTemplate.setValueSerializer(redisSerializer);
        redisTemplate.setHashKeySerializer(redisSerializer);
        redisTemplate.setHashValueSerializer(redisSerializer);
    }

    @GetMapping("/redisTest/{article}/{userid}")
    public void set(@PathVariable String article,@PathVariable String userid) throws JsonProcessingException {
          
   
        String articles = (String) redisTemplate.opsForHash().get("USER:INFO:DATA",userid);
        Set<String> set = articles == null ? new HashSet<>() : new ObjectMapper().readValue(articles, new HashSet<String>().getClass());
        set.add(article);
        redisTemplate.opsForHash().put("USER:INFO:DATA",userid,new ObjectMapper().writeValueAsString(set));
    }

init方法,用于解决存放redis中的数据乱码问题,而

set方法,尝试从redis中取数据,如果用户id已存在redis中,则将文章id拼接到现有文章id后,否则将用户id和文章id存放到redis中,如下

经验分享 程序员 微信小程序 职场和发展