SpringBoot引入redis怎么使用

编辑: admin 分类: mysql 发布时间: 2023-06-10 来源:互联网

1.安装windows版redis

    由于windows的redis仅仅用于个人测试玩耍,这里就简单下载zip解压版本

     在解压所在目录使用如下命令启动服务端:(由于这里使用的win10的powershell,所以需要添加./,或者配置环境变量也可以避免使用./)

./redis-server.exe redis.windows.conf
登录后复制

    // 这里就不将其注册为windows服务了,关闭窗口,也就关闭了redis

    启动命令端:

./redis-cli.exe -h 127.0.0.1 -p 6379
登录后复制

2.引入依赖

 <!-- springboot整合redis -->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-data-redis</artifactId>  
        </dependency>
登录后复制

这里只需引入这一个redis的依赖即可,其他3个自动进行了依赖:

3.在application.yml中配置redis

SpringBoot引入redis怎么使用

spring.redis.host=127.0.0.1
#Redis服务器连接端口
spring.redis.port=6379
#Redis服务器连接密码(默认为空)
spring.redis.password=
#连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
#连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
#连接池中的最大空闲连接
spring.redis.pool.max-idle=8
#连接池中的最小空闲连接
spring.redis.pool.min-idle=0
#连接超时时间(毫秒)
spring.redis.timeout=30000

4.把Redis注册为本地服务

通常情况下我们可以通过 redis-server.exe 和配置文件启动redis服务 :

redis-server.exe redis.windows.conf

另外开启一个命令行窗口 redis-cli.exe 即可做一些简单的操作命令行

但如果我们关闭控制台,那么Redis服务也跟随着一起关闭了,想使用的时候又得执行命令重新开启动redis 服务,是非常低效又麻烦的。

在Windows中有个本地服务的概念,我们的目标就是将Redis注册成这里面的一个服务,然后就可以不受控制台退出的影响了。

注册为本地服务:

redis-server.exe –service-install redis.windows.conf

SpringBoot引入redis怎么使用

从图中看到已成功授权并且注册成功,接下来,我们到windows服务(右键单击windows菜单-》计算机管理-》服务和应用程序-》服务)中去看一下是否有redis服务:

命令规整

注册服务 redis-server –service-install redis.windows.conf

删除服务 redis-server –service-uninstall

开启服务 redis-server –service-start

停止服务 redis-server –service-stop

5.Redis的使用

    @Autowiredprivate StringRedisTemplate redisTmp;

    @GetMapping("/api/setkey")public String setkey(String keyname,String keyvalue){
        String value = "Set Value OK";try{
            redisTmp.opsForValue().set(keyname,keyvalue);
        }catch (Exception ex){
            value = "Set Error :"+ex.getMessage();
        }return value;
    }
    @GetMapping("/api/getkey")public String getkey(String keyname){
        String str = "";try {
            Boolean isHas = redisTmp.hasKey(keyname);if (isHas){
                str = redisTmp.opsForValue().get(keyname).toString();
            }else {
                str = "抱歉!不存在key值为"+keyname;
            }
        } catch (Exception ex){
            str = ex.getMessage();
        }return str;
    }
登录后复制【本文转自:韩国服务器 http://www.558idc.com/kt.html提供,感谢支持】