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
目录
相关文章
|
3天前
|
存储 缓存 NoSQL
SpringBoot配置第三方专业缓存技术Redis
SpringBoot配置第三方专业缓存技术Redis
10 4
|
3天前
|
缓存 NoSQL Redis
SpringBoot2.4.5使用redis缓存
SpringBoot2.4.5使用redis缓存
9 0
|
3天前
|
NoSQL Java 关系型数据库
非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载
非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载
7 0
|
6天前
|
NoSQL 安全 Linux
springboot+shiro+redis前后端分离实现认证(一)
springboot+shiro+redis前后端分离实现认证(一)
10 0
|
6天前
|
NoSQL Java API
Spring Boot与Redis的整合
Spring Boot与Redis的整合
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的汽车4s店管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的汽车4s店管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
34 6
基于SpringBoot+Vue的汽车4s店管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的拍卖管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的拍卖管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
35 9
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的易家宜超市云购物系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的易家宜超市云购物系统的详细设计和实现(源码+lw+部署文档+讲解等)
16 6
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的智慧农业小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的智慧农业小程序的详细设计和实现(源码+lw+部署文档+讲解等)
19 6
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的校园互助平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的校园互助平台的详细设计和实现(源码+lw+部署文档+讲解等)
21 6