SpringBoot 引入redis

Redis是一个内存数据库,可以把需要经常访问的数据缓存到Redis,可以大大提高访问效率。

下面介绍一下使用方法:

1.安装windows版redis

    由于windows的redis仅仅用于个人测试玩耍,这里就简单下载zip解压版本,相关配置项也不在这里赘述,参考linux下redis的介绍

    点击下载:https://github.com/MicrosoftArchive/redis/releases

      下载后解压;

     在解压所在目录使用如下命令启动服务端:(由于这里使用的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

复制代码

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 

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

命令规整

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

删除服务   redis-server --service-uninstall

开启服务   redis-server --service-start

停止服务   redis-server --service-stop

5.Redis的使用

    @Autowired
    private 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;
    }

6.关于Redis密码设置

如果需要系统弱点扫描,没有设置redis密码会提示不安全,这时我们可以給Redis设置一个密码,只需要做2步设置即可:

a.修改配置 redis.windows.conf ,  找到位置

 添加 requirepass 后面带你要设置的密码

b.修改application.properties文件,如下:

 加上 spring.redis.password=你的密码

参考:

1.https://www.cnblogs.com/jiangbei/p/8601107.html

2.https://www.cnblogs.com/wasonzhao/p/12758590.html

3.https://blog.csdn.net/weixin_40623736/article/details/98097708

原文地址:https://www.cnblogs.com/lpq21314/p/14919132.html