SpringBoot-项目引入Redis依赖

在使用Spring Boot开发应用时,可以使用Redis来实现缓存、分布式锁等功能。在编写业务逻辑代码时,可以通过注入RedisTemplate或StringRedisTemplate对象来操作Redis,如存取数据、设置过期时间、删除数据等。同时,还可以使用Redis的发布订阅机制,通过监听器监听消息,实现消息的发布和订阅功能。本文介绍如何在IDEA里将SpringBoot整合Redis。

一、创建SpringBoot项目

创建SpringBoot项目时勾选 Spring Data Redis (Access + Driver),项目创建时会自动导入所需的redis的配置项和包。创建SpringBoot-MyBatis的流程可以参考我的上一篇文章:IntelliJ IDEA搭建SpringBoot-Mybatis项目icon-default.png?t=N7T8https://blog.csdn.net/weixin_41793160/article/details/135363107

和上个项目不同的地方,额外勾选这个:


二、安装启动Redis服务

Redis是一种开源的高性能内存数据库,常用于缓存、消息传递、排行榜和实时统计等应用场景。在Windows系统下安装Redis,可以让开发者更方便地在本地进行开发和测试。首先需要下载最新的Redis安装包,然后解压到指定目录,配置Redis的配置文件,最后启动Redis服务即可。也可以将Redis服务注册为Windows服务,以便在系统启动时自动启动Redis服务。

1、GitHub上下载Redis

下载地址:github.com/tporadowski/redis/releases

 

2、解压到安装目录

把下载的Redis压缩包解压到安装目录。

3、启动Redis服务端

双击redis-server.exe,启动Redis服务端。

4、启动Redis客户端

双击redis-cli.exe,启动Redis客户端。
可以输入ping回车,测试是否连接成功,返回pong则为成功。

5、设置Redis密码

redis.windows-service.conf 里增加一行 requirepass ******,******的内容是密码

6、设置Redis默认启动

将Redis注册为服务,默认启动。

# 切换到Redis安装目录下
cd /dD:/Redis
# 安装Redis为Windows服务
redis-server --service-install redis.windows.conf  --loglevel verbose

 我们再到服务里看,Redis服务已经启动了。


三、编写Reids工具类及调用代码

1、创建RedisUtil工具类

创建访问Redis服务的工具类,命名为RedisUtil.java。

package com.util;
 
import org.springframework.stereotype.Component;
import org.springframework.data.redis.core.RedisTemplate;
 
import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
 
@Component
public class RedisUtil {
 
    @Resource
    private RedisTemplate<String, Object> redisTemplate;
 
 
    /**
     * 设置缓存
     *
     * @param key    缓存key
     * @param value  缓存value
     * @param expire 过期时间(单位:秒),传入-1表示永不过期
     */
    public void set(String key, Object value, long expire) {
        redisTemplate.opsForValue().set(key, value);
        if (expire != -1) {
            redisTemplate.expire(key, expire, TimeUnit.SECONDS);
        }
    }
 
    /**
     * 获取缓存
     *
     * @param key 缓存key
     * @return 缓存value
     */
    public Object get(String key) {
        return redisTemplate.opsForValue().get(key);
    }
 
    /**
     * 判断缓存是否存在
     *
     * @param key 缓存key
     * @return true:存在,false:不存在
     */
    public boolean hasKey(String key) {
        return redisTemplate.hasKey(key);
    }
 
    /**
     * 删除缓存
     *
     * @param key 缓存key
     */
    public void delete(String key) {
        redisTemplate.delete(key);
    }
}

2、编写调用Reids工具类的代码

我们新增一个测试接口,通过浏览器访问localhost:8080/redis可以访问到。在UserController里添加代码:

@RequestMapping("redis")
    public String getRedis(HttpServletRequest request)throws Exception{
        redisUtil.set("key", "value", 300); //设置key为value,有效期为300秒
        return redisUtil.get("key").toString();
    }

目前完整的UserController.java代码:

package com.controller;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
 
import com.util.RedisUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.User;
import com.service.UserService;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
 
@RestController
public class UserController {
 
    @Resource
    private UserService userService;
    @Resource
    private RedisUtil redisUtil;
 
    @RequestMapping("user")
    public String getTotal(User user,HttpServletRequest request)throws Exception{
        Map<String,Object> map = new HashMap<>();
        Long userCount =userService.getTotal(map);
        return userCount.toString();
    }
 
    @RequestMapping("redis")
    public String getRedis(HttpServletRequest request)throws Exception{
        redisUtil.set("key", "value", 300); //设置key为value,有效期为300秒
        return redisUtil.get("key").toString();
    }
}

四、测试项目Redis是否正常运行

我们在UserController里把<Key=”key”, Value=”value”>的键值对存入了Redis,然后读取Key为”key”的Value值。

成功运行,返回了正确的Value值。

后面我们就可以根据实际情况在SpringBoot项目里编写调用redis数据库的代码了。

相关推荐

  1. Springboot Async 引起的循环依赖

    2024-01-08 12:46:04       37 阅读
  2. 项目搭建一】SpringBoot引入logback

    2024-01-08 12:46:04       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 12:46:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 12:46:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 12:46:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 12:46:04       18 阅读

热门阅读

  1. Docker Compose 安装

    2024-01-08 12:46:04       31 阅读
  2. LeetCode每日一题 | 383. 赎金信

    2024-01-08 12:46:04       35 阅读
  3. KMP算法学习

    2024-01-08 12:46:04       37 阅读
  4. mysql 高阶查询

    2024-01-08 12:46:04       33 阅读
  5. C语言-蓝桥杯2022年第十三届省赛真题-质因数个数

    2024-01-08 12:46:04       38 阅读