redis做点赞

在现代的Web应用中,点赞、浏览、收藏、评论等操作是非常常见的,这些操作通常需要记录用户的行为,以便进行统计和分析,为了实现这些功能,我们可以使用Spring Boot和Redis这两种技术,Spring Boot是一个开源的Java框架,可以简化Spring应用的初始搭建以及开发过程;而Redis则是一个开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

我们需要在Spring Boot项目中引入Redis的依赖,在pom.xml文件中添加以下代码:

redis做点赞

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

我们需要在application.properties文件中配置Redis的信息:

spring.redis.host=localhost
spring.redis.port=6379

接下来,我们可以创建一个RedisService类,用于封装Redis的操作:

@Service
public class RedisService {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;
    // 点赞、浏览、收藏、评论等数量的增减操作
    public void increase(String key, int count) {
        stringRedisTemplate.opsForValue().increment(key, count);
    }
    public void decrease(String key, int count) {
        stringRedisTemplate.opsForValue().decrement(key, count);
    }
    public long getCount(String key) {
        return stringRedisTemplate.opsForValue().getOrDefault(key, 0L);
    }
}

在这个类中,我们使用了StringRedisTemplate来操作Redis,这个类是Spring Boot提供的一个模板类,可以简化Redis的操作,increase方法用于增加数量,decrease方法用于减少数量,getCount方法用于获取当前的数量。

redis做点赞

我们可以在Controller中使用这个RedisService类来实现点赞、浏览、收藏、评论等数量的增减操作:

@RestController
public class LikeController {
    @Autowired
    private RedisService redisService;
    @PostMapping("/like")
    public String like(@RequestParam("userId") String userId, @RequestParam("articleId") String articleId) {
        redisService.increase("article:" + articleId + ":like", 1);
        return "success";
    }
}

在这个Controller中,我们首先注入了RedisService,然后在like方法中调用了increase方法来增加点赞的数量,当用户点击点赞按钮时,就可以调用这个方法来增加点赞的数量。

同样,我们也可以实现浏览、收藏、评论等数量的增减操作,只需要调用RedisService中的increase或decrease方法即可,我们可以这样实现浏览数量的增加:

redis做点赞

@PostMapping("/view")
public String view(@RequestParam("userId") String userId, @RequestParam("articleId") String articleId) {
        redisService.increase("article:" + articleId + ":view", 1);
        return "success";
    }

我们可以在前端页面中使用Ajax来调用这些接口,从而实现点赞、浏览、收藏、评论等数量的增减操作,我们可以这样实现点赞按钮的功能:

<button id="likeBtn">点赞</button>
<script>
$("likeBtn").click(function() {
    $.ajax({
        url: "/like",
        type: "POST",
        data: {"userId": "user1", "articleId": "article1"},
        success: function(result) {
            alert("success");
        }
    });
});
</script>

以上就是使用Spring Boot和Redis实现点赞、浏览、收藏、评论等数量的增减操作的方法,这种方法简单易用,可以有效地提高应用的性能。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/348290.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-03-05 02:28
Next 2024-03-05 02:32

相关推荐

  • redis缓存机制的好处有哪些

    Redis缓存机制的好处:1. 提高数据读取速度:Redis作为内存数据库,数据存储在内存中,读取速度比磁盘快得多,大大提高了数据的读取速度。2. 减轻数据库压力:Redis可以作为缓存层,将热点数据存储在内存中,减轻了数据库的压力,提高了系统的性能。3. 支持多种数据结构:Redis支持多种数据结构,如字符串、列表、集合、散列等,可……

    2023-11-18
    0162
  • redis的scan命令的使用

    Redis的SCAN命令用于迭代数据库中的键。它接受一个游标参数,每次调用都会返回一个新的游标,直到遍历完所有键。

    2024-05-21
    077
  • 利用redis实现防止接口重复提交功能的方法

    使用Redis的SETNX命令,当接口请求到来时,先尝试将请求参数作为key存入Redis,如果成功则表示无重复提交,否则表示已存在。

    2024-05-21
    0116
  • redis不能访问本机真实ip地址的解决方案是

    Redis是一个开源的使用ANSI C编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,它常被用作数据库、缓存和消息代理,有时候我们可能会遇到一个问题,那就是Redis不能访问本机真实IP地址,这个问题可能是由于多种原因引起的,下面我们将详细介绍解决这个问题的方法。1、检查……

    2024-03-04
    0223
  • 解决redis修改requirepass后不生效的问题

    Redis是一个开源的,基于内存的高性能键值存储系统,它支持多种数据结构,如字符串、列表、集合、散列和有序集合等,Redis具有高速读写、高并发、低延迟等特点,广泛应用于缓存、消息队列、排行榜等场景。在Redis中,可以通过设置requirepass参数来为Redis实例添加密码保护,当客户端尝试连接Redis时,需要提供正确的密码才……

    2024-02-29
    0287
  • redis取大数据时卡顿怎么解决的

    在处理大数据时,Redis可能会遇到性能瓶颈,这主要是因为Redis是一个单线程的服务器,当有大量并发请求时,它需要等待其他请求完成才能处理新的请求,为了解决这个问题,我们可以采用以下几种方法来提高Redis在处理大数据时的性能:1、使用Redis集群Redis集群是一组独立的Redis实例,它们通过复制和分片技术来实现数据的分布式存……

    2024-01-28
    0155

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入