spring boot集成redis

  1. Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

  2. Redis 常用数据类型使用场景:

    • String,存短信验证码、缓存、计数器、分布式session
    • List,发布订阅等
    • Set,共同好友、点赞或点踩等
    • Hash,存储对象
    • Zset,排行榜
    • HyperLogLog,在线用户数、统计访问量等
    • GeoHash,同城的人、同城的店等
    • BitMap,签到打卡、活跃用户等
  3. 实现步骤:

    • 引入依赖:项目中引入spring-boot-starter-data-redis后默认使用Lettuce作为Redis客户端库。与老牌的Jedis客户端相比,Lettuce功能更加强大,不仅解决了线程安全的问题,还支持异步和响应式编程,支持集群,Sentinel,管道和编码器等等功能。

      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- 解决在实体类使用java.time包下的LocalDateTime、LocalDate等类时序列化/反序列化报错的问题 -->
        <dependency>
          <groupId>com.fasterxml.jackson.datatype</groupId>
          <artifactId>jackson-datatype-jsr310</artifactId>
          <version>2.13.0</version>
        </dependency>
      </dependencies>
      
    • 修改配置文件

      spring:
        data:
          redis:
            host: localhost     # Redis服务器地址
            port: 6379          # Redis服务器连接端口
            password: 123456    # Redis服务器连接密码(默认为空)
            database: 0         # Redis数据库索引(默认为0)
            timeout: 60s        # 连接空闲超过N(s秒、ms毫秒,不加单位时使用毫秒)后关闭,0为禁用,这里配置值和tcp-keepalive值一致
            # Lettuce连接池配置
            lettuce:
              pool:
                max-active: 10  # 允许最大连接数,默认8(负值表示没有限制),推荐值:大于cpu * 2,通常为(cpu * 2) + 2
                max-idle: 8     # 最大空闲连接数,默认8,推荐值:cpu * 2
                min-idle: 0     # 最小空闲连接数,默认0
                max-wait: 5s    # 连接用完时,新的请求等待时间(s秒、ms毫秒),超过该时间抛出异常,默认-1(负值表示没有限制)
      
    • 定义Redis配置类:在Redis配置类中,声明了一个自定义的RedisTemplate<String, Object>和一个自定义的Redis序列化器RedisSerializer

posted @   Hanyta  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示