美文网首页
Spring boot 用docker整合mysql和redis

Spring boot 用docker整合mysql和redis

作者: Good_Nine9 | 来源:发表于2020-08-26 12:34 被阅读0次

    首先用docker拉下来mysql和redis的镜像

    docker pull mysql
    docker pull redis
    

    然后创建mysql容器

    docker run -tid --name mysql-test -p 3306:3306 -p 33060:33060 -e MYSQL_ROOT_PASSWORD=123456 mysql 
    

    如果想把数据卷映射到本地文件夹可以用-v

    docker run -ti --name mysql-test -p 3306:3306 -p 33060:33060  -v 自己弄个文件夹:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql 
    

    同理redis的容器也可以

    docker run -itd --name redis-test -p 6379:6379 redis
    

    弄好之后就可以创建spring boot的项目,这里用的是IDEA里的Spring initializr


    1.png

    把redis和mysl的勾上(mybatis和web不一定要勾上)。就行了

    这个时候生成了一个pom.xml

    这个时候再在pom.xml里面加一些其他依赖

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    
    
    <dependency>
      <groupId>io.lettuce</groupId>
      <artifactId>lettuce-core</artifactId>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-all</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-pool2</artifactId>
    </dependency>
    

    下面3个如果不加的话可能会报一下 classNotFoundException,反正我就遇到了,之前看别人的教程感觉别人没加也正常跑起来了

    然后配置一下application.yml 或者application.properties,两个功能是一样的只是语法不一样而已

    # 数据库设置
    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/databases?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
        username: root
        password: 123456
    
      redis:
        host: 127.0.0.1
        port: 6379
        timeout: 3000ms
        lettuce:
          pool:
            max-active: 8 # 连接池最大连接数
            max-idle: 8 # 连接池最大空闲连接数
            min-idle: 0 # 连接池最小空闲连接数
            max-wait: -1ms # 连接池最大阻塞等待时间,负值表示没有限制
    
    
    
    mybatis:
      type-aliases-package: com.example.demo.Model
      mapper-locations: classpath:mapper/*.xml
    

    这里配置了mysql的驱动,redis的驱动和一个mybatis的东西

    弄到这里其实就好了。这里关于mybatis的就不写了,网上很多,然后弄一个测试类来单元测试一下

    @SpringBootTest
    class ZhangApplicationTests {
    
       @Autowired
       RedisTemplate redisTemplate;
       
       @Autowired
       UserMapper userMapper;
    
       @Test
       void contextLoads() {
          redisTemplate.opsForValue().set("key","14");
          System.out.println(redisTemplate.opsForValue().get("key"));
    
          System.out.println(userMapper.selectByPrimaryKey(1));
       }
    
    }
    

    然后输出


    2.png

    这里14和user的信息都有了,让我们看看数据库中是什么样的

    mysql里面,成功读出了的


    3.png

    redis里面,成功写入而且读出了的


    4.png

    相关文章

      网友评论

          本文标题:Spring boot 用docker整合mysql和redis

          本文链接:https://www.haomeiwen.com/subject/jdpxsktx.html