Redis:如何在SpringBoot项目中使用Redis?

        在SpringBoot项目中,往往会遇到使用Redis数据库的场景,SpringBoot提供了三种连接Redis的方式,首先是Redis官方自带的jedis,其次是SpringBoot自带的,最后是redisson,它是基于jedis优化的一种方式,性能最好,使用最多。本篇我们先讲解SpringBoot自带的连接Redis的方式。

        首先我们要搭建一个SpringBoot项目,并下载安装好Redis。在pom.xml文件中,导入Redis的相关依赖。Maven会自动帮我们完成构建。

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

        之后,我们需要在application.propertiesapplication.yml文件中配置Redis服务器的地址、端口、密码等。

# application.properties 示例  
spring.redis.host=localhost  
spring.redis.port=6379  
# 如果Redis设置了密码  
# spring.redis.password=password

        最后在controller中注入即可。

    @Resource
    private RedisTemplate<String, String> redisTemplate;

        我们可以使用基本语句来实现基础的增删改查操作。

    @GetMapping("/test")
    public String test() {

        // 增
        redisTemplate.opsForValue().set("abc", "123", 1, TimeUnit.HOURS);

        // 查
        String lpy = redisTemplate.opsForValue().get("abc");
        System.out.println(abc); // 123

        // 改
        redisTemplate.opsForValue().set("abc", "456", 1, TimeUnit.HOURS);
        lpy = redisTemplate.opsForValue().get("abc");
        System.out.println(abc); // 456

        // 删
        redisTemplate.delete("abc");
        lpy = redisTemplate.opsForValue().get("abc");
        System.out.println(abc); // null

        return "success";
    }

         我们可以使用Redis来完成项目中常用的防止频繁访问和阻止重复提交的功能。

 // 用户近十秒内只能访问5次
   @GetMapping("/test2")
    public String test2(String id) {
        Long increment = redisTemplate.opsForValue().increment(id, 1);

        redisTemplate.expire(id, 10, TimeUnit.SECONDS);
        if (increment > 5) {
            return "你不能访问,近10秒访问次数是" + increment;
        } else {
            return "欢迎使用,访问次数是" + increment;
        }
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值