windows下Springboot部署redis

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: windows下Springboot部署redis

windows下Springboot部署redis

一、在windows下安装redis

在windows下安装其实并不是安装,下载下来直接解压,下面给出一个百度云下载链接。。

链接:https://pan.baidu.com/s/1Vsha5GkBCa5rHvlFy5h3wg 密码:4j8v   亲自测试,还不错

1,下载下来,解压后图片

2,修改redis.windows.conf文件,设置maxmemory 大小 为1024000000

3,设置redis密码 requirepass

4,设置完成后保存文件,启动redis

redis-server.exe redis.windows.conf

5,启动成功,打开任务管理器

正常情况应该是正在运行,如果没有启动,你就自己右键运行一下吧。。。尴尬

6,将将redis加入到windows的服务中

redis-server –service-install redis.windows.conf –loglevel verbose

进行到这里也算是完成了第一步

二、在Springboot项目中部署redis

pom文件中引入Springboot结合redis相关的依赖

  <properties>
    <spring-boot-starter-redis-version>1.3.2.RELEASE</spring-boot-starter-redis-version>
  </properties>
<!-- Spring Boot Reids 依赖 -->
    <dependency>    
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-redis</artifactId>
      <version>${spring-boot-starter-redis-version}</version>
    </dependency>

在  application.properties增加redis配置

#redis Config
spring.redis.database=0       #数据库索引,默认为0    
spring.redis.host=127.0.0.1   #服务器地址
spring.redis.port=6379        #服务器连接端口号
spring.redis.password=123456  #服务器连接密码
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=0        #连接超时时间

在接口实现类中添加以下代码,也是缓存实现代码

@SuppressWarnings("unchecked")
  @Override
  public List<SigninDO> listAllSigninDOByWorkId(String workId) {
    // TODO 自动生成的方法存根
    
    String key=workId;
    ValueOperations<String,List<SigninDO>> operations = redisTemplate.opsForValue();
    
    boolean haskey=redisTemplate.hasKey(key);
    List <SigninDO>list=new ArrayList<SigninDO>();
    System.out.println(haskey);
    if(haskey){
      List<SigninDO> listCache=operations.get(key);
      System.out.println("==========从缓存中获得数据=========");
      for (SigninDO signinDO : listCache) {
        System.out.println(signinDO.getId());
        System.out.println(signinDO.getWorkId());
        System.out.println(signinDO.getStartTime());
        System.out.println(signinDO.getEndTime());
        System.out.println(signinDO.getEnjoin());
      }
      
            System.out.println("==============================");
            return listCache;
    }else{
      List<SigninDO> listNoCache=signinDAO.listAllSigninDOByWorkId(workId);
      
      System.out.println("==========从数据表中获得数据=========");
            operations.set(key, listNoCache);
            System.out.println("==============================");
            return listNoCache;
            
    }
  
    
  }
 
}

简单描述一下原理就是,第一次查询数据库,顺便就把数据放在了redis缓存中,以(key,value)的形式存放。在这里面key值是存储ID值,value值是存放的对象,当下一次查询的时候,redis数据库中已经有这一条数据,当有相同的key值进来访问的时候,可以直接从redis数据库中直接查询到相应的对象数据(在这里是List集合)。

第一次请求

第二次请求:

更新数据库时候更新缓存(即删除缓存,重新读取)

@SuppressWarnings("unchecked")
  @Override
  public int updateCache(SigninDO signin){
    
      int result = signinDAO.updateById(signin);
      if(result>0){
        String key=signin.getWorkId();
        if(redisTemplate.hasKey(key)){
          redisTemplate.delete(key);
          return 0;
        }
      }
      return 1;
  }

本文章能够做出来也是参考了一位博主的文章

https://blog.csdn.net/u012343297/article/details/78840862     感谢。。

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
8天前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
8天前
|
前端开发 NoSQL 数据库
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
|
10天前
|
消息中间件 负载均衡 NoSQL
|
8天前
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
25 0
|
8天前
|
NoSQL Redis Windows
Windows设置Redis服务使其开机自启
Windows设置Redis服务使其开机自启
19 0
|
8天前
|
前端开发 应用服务中间件 nginx
安装Windows版nginx以及部署前端代码并就解决刷新出现404
安装Windows版nginx以及部署前端代码并就解决刷新出现404
18 0
|
8天前
|
NoSQL JavaScript Redis
若依后端部署---若依部署,Redis在D盘的project的应用工具当中,在连接过程中,先用Xshell连接若依,RDM在应用工具里,同时host的主机也要写好
若依后端部署---若依部署,Redis在D盘的project的应用工具当中,在连接过程中,先用Xshell连接若依,RDM在应用工具里,同时host的主机也要写好
|
8天前
|
SQL NoSQL 关系型数据库
若依修改02,若以提供了多种版本,RuoYi-Cloud和SpringBoot+Vue都是PC端的,如果想要适配手机端,用Uniapp+vue,导入Mysql和启动Redis
若依修改02,若以提供了多种版本,RuoYi-Cloud和SpringBoot+Vue都是PC端的,如果想要适配手机端,用Uniapp+vue,导入Mysql和启动Redis
|
8天前
|
NoSQL Redis Windows
redis双击闪退解决方法,windows版的redis资源,redis安装,win资源可下
redis双击闪退解决方法,windows版的redis资源,redis安装,win资源可下
|
9天前
|
NoSQL Redis Windows
windows安装redis
windows安装redis
10 0