• 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

  • 相关阅读:
    Excel与Access的互作
    ThinkPHP第三天(公共函数Common加载,dump定义,模板文件,定义替换__PUBLIC__)
    ThinkPHP第四天(U函数,URL类型参数配置,伪静态后缀名配置,数据传递与获取$_GET等)
    ThinkPHP第六天(正则表达式)
    PHP函数积累
    bootstrap基础知识点YI
    集合中的方法
    hashable与unhashable
    集合的特点
    元组
  • 原文地址:https://www.cnblogs.com/lpq21314/p/14919132.html
Copyright © 2020-2023  润新知