SpringBoo整合Redis

本文介绍了SpringBoot如何与Redis整合,重点阐述了Redis的适用场景,如存储系统基础数据,避免左连接查询,提高缓存命中率。并提供了一步步的配置和代码实现步骤,包括配置Redis、注册Redis到Spring容器、编写Redis工具类和切面处理,以及在服务层中使用Redis的注意事项,强调了事务一致性的重要性。
摘要由CSDN通过智能技术生成

1. Redis的使用场景说明:

  1. 系统级别基础数据(也就是大部分框架中SYS_开头的表的数据),查询数据的时候,在写入数据的同时将数据写入Redis缓存,这样可以尽量减少DB查询,让DB主要负责写数据。
  2. 尽量不使用 LEFt JOIN 等关联查询,缓存命中率不高,还浪费内存(原因请参考:https://blog.csdn.net/tonygor/article/details/49247075
    https://www.baidu.com/link?url=9v5TkaAJ5RMZJ8vPR3S9VHmhtPeRAwAK-_HBb-2gZCRjYiuLkFaDKoaUBwnXo5VO4r7sAzxn5yDxQT1XvD9-djtbIm9uzyV8NolyCPIXiSe&wd=&eqid=9c4b02120000ed70000000065bf26f97)https://www.baidu.com/link?url=9v5TkaAJ5RMZJ8vPR3S9VHmhtPeRAwAK-_HBb-2gZCRjYiuLkFaDKoaUBwnXo5VO4r7sAzxn5yDxQT1XvD9-djtbIm9uzyV8NolyCPIXiSe&wd=&eqid=9c4b02120000ed70000000065bf26f97)
  3. 多使用单表查询,缓存命中率最高
  4. 数据库 insert 、 update 、 delete 时,同步更新缓存数据
  5. 合理运用Redis数据结构(Redis一般性使用是用set/get方法,set key value的时候,value通常使用Json字符串,使用阿里的fastJson将数据转化为字符串,然后get key的时候,使用阿里的fastJson将数据转化为字符串转化为自己需要的数据结构)
  6. 对于访问量不大的项目,使用缓存只会增加项目的复杂度,不建议使用

2. 代码参考:

1)在Spring容器中填写Redis配置(以yml为例)

spring:
  redis:
    database: 0
    host: localhost
    port: 6379
    password:      # 密码(默认为空)
    timeout: 6000ms  # 连接超时时长(毫秒)
    jedis:
      pool:
        max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
        max-wait: -1ms      # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-idle: 10      # 连接池中的最大空闲连接
        min-idle: 5 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值