SpringBoot学习历程(十二):SpringBoot2.0集成redis

SpringBoot学习历程(十二):SpringBoot2.0集成redis

前言

  • 本人github仓库地址:https://github.com/RabbitsInTheGrass/springBoot-Learning

1. redis简介

Redis是一个开源免费的高性能key-value数据库。。。。简介参见本人Redis 系列教程

SpringBoot提供了Redis集成的组件包:spring-boot-starter-data-redis,在1.x的版本中默认使用jedis客户端,而在2.x版本中默认使用的lettuce客户端。
两种客户端的区别如下:

  • Jedis和Lettuce都是Redis Client
  • Jedis 是直连模式,在多个线程间共享一个 Jedis 实例时是线程不安全的,
  • 如果想要在多线程环境下使用 Jedis,需要使用连接池,
  • 每个线程都去拿自己的 Jedis 实例,当连接数量增多时,物理连接成本就较高了。
  • Lettuce的连接是基于Netty的,连接实例可以在多个线程间共享,
  • 所以,一个多线程的应用可以使用同一个连接实例,而不用担心并发线程的数量。
  • 当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。
  • 通过异步的方式可以让我们更好的利用系统资源,而不用浪费线程等待网络或磁盘I/O。
  • Lettuce 是基于 netty 的,netty 是一个多线程、事件驱动的 I/O 框架。

我的项目是使用的是Spring Boot 2.1.9.RELEASE版本

2. 引入依赖

<!-- 引入redis依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

3. 配置属性

spring:
  redis:
    database: 0 # Redis数据库索引(默认为0)
    host: localhost # Redis服务器地址
    port: 6379 # Redis服务器连接端口
    password:  # Redis服务器连接密码(默认为空)
    timeout: 0 # 连接超时时间(毫秒)
    lettuce:
      pool:
        min-idle: 5 # 连接池中的最小空闲连接,默认 0
        max-idle: 10 # 连接池中的最大空闲连接,默认 8
        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)默认 8
        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)默认 -1
      shutdown-timeout: 100ms

4.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RabbitsInTheGrass

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值