1、在 pom.xml 中配置相关的 jar 依赖;

<!--  加载 spring  boot  redis 包  -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-redis</artifactId>

</dependency>

2、在  Springboot  核心配置文件  application.properties  中配置

#配置redis
spring.redis.host=localhost
spring.redis.password=
spring.redis.port=6379

3、配置了上面的步骤,Spring boot 将自动配置 RedisTemplate,在需要操作 redis 的类中注入 redisTemplate; 在使用的类中注入:

@Autowired

private  RedisTemplate<String,  String>  redisTemplate;

@Autowired

private  RedisTemplate<Object,  Object>  redisTemplate;

spring  boot  帮我们注入的  redisTemplate  类,泛型里面只能写<String, String>、<Object, Object>

复用上一章集成mybatis的代码

启动测试发现报错,让你后将对对象序列化

生成序列化ID方法如下:

点击即可生成,或者使用快捷键Alt+Enter

5-2 Spring Boot  集成 Redis 测试启动程序,进行访问测试;

设置 key 的序列化方式为字符串,增强 key 的可读性;

访问Controller

查看redis

5-3  高并发条件下缓存穿透问题分析

在项目中使用缓存通常是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库,然后将查询出来的数据缓

存到缓存中,最终返回查询结果; 但是如果大量用户请求查询的某一个数据,而该数据在缓存中不存

在,就会造成大量的用户请求都去查询 DB,这样缓存就失去了意义,在并发流量大时,可能导致 DB 压力过大而失去响应;

5-4  高并发条件下缓存穿透问题复现

按照常规的代码实现方式,多线程并发条件下多个请求落入到了数据库;

5-5  高并发条件下缓存穿透问题处理

通过锁机制,避免请求穿透缓存直接落入到数据库;

解决方式一: 加synchronized  但是这样会导致效率很低,不推荐使用!

解决方法二:双重检测机制 (如果集群的项目,可以了解一下分布式锁)

5-6  高并发条件下缓存穿透问题测试

运行程序,观察是否有多个请求落入到数据库;

 Redis 哨兵模式待更新

SpringBoot(十一): Spring Boot集成Redis的更多相关文章

  1. Spring Boot 2.X(六):Spring Boot 集成Redis

    Redis 简介 什么是 Redis Redis 是目前使用的非常广泛的免费开源内存数据库,是一个高性能的 key-value 数据库. Redis 与其他 key-value 缓存(如 Memcac ...

  2. (35)Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】

    [本文章是否对你有用以及是否有好的建议,请留言] 本文章牵涉到的技术点比较多:Spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对 ...

  3. spring boot集成redis基础入门

    redis 支持持久化数据,不仅支持key-value类型的数据,还拥有list,set,zset,hash等数据结构的存储. 可以进行master-slave模式的数据备份 更多redis相关文档请 ...

  4. 【spring boot】【redis】spring boot 集成redis的发布订阅机制

    一.简单介绍 1.redis的发布订阅功能,很简单. 消息发布者和消息订阅者互相不认得,也不关心对方有谁. 消息发布者,将消息发送给频道(channel). 然后是由 频道(channel)将消息发送 ...

  5. spring boot集成redis实现session共享

    1.pom文件依赖 <!--spring boot 与redis应用基本环境配置 --> <dependency> <groupId>org.springframe ...

  6. 【SpringBoot】Spring Boot 集成SwaggerAPI

    Spring Boot 集成SwaggerAPI 文章目录 Spring Boot 集成SwaggerAPI Swagger 添加依赖 配置类 config 控制类 controller 接口测试 页 ...

  7. spring boot 集成 redis lettuce

    一.简介 spring boot框架中已经集成了redis,在1.x.x的版本时默认使用的jedis客户端,现在是2.x.x版本默认使用的lettuce客户端,两种客户端的区别如下 # Jedis和L ...

  8. spring boot集成redis的血泪史

    首先说明环境不是我搭建的,然后因项目需要添加redis的时候,麻烦来了.springboot 用的是1.5.9因为以前弄过redis,所以直接拿过来,麻烦了首先是莫名的错误,连项目都启动不了.但是最后 ...

  9. Spring Boot 集成 Redis 实现缓存机制

    本文章牵涉到的技术点比较多:spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对以上这些技术点有一定的了解或者也可以先看看这篇文章 ...

随机推荐

  1. 从单页应用(SPA)到服务器渲染(SSR)

    从单页应用(SPA)到服务器渲染(SSR) 情景回顾 在学习Vue开发一个电商网站的管理后台时,使用到了一个组件 vue-quill-editor 主要是一个快捷的一个富文本编辑器 在使用这个组件的组 ...

  2. Ubuntu18.04系统设置为中文语言

    1.选择右上角设置按钮 2.管理已安装的语言 3.安装简体中文 安装好后是这样的 会发现汉语中文那一块是灰色的,怎么点都点不亮 4.拖拽 汉语(中国) 到最顶边 然后应用 5.重启 然后就出现这个画面 ...

  3. .net core Api 部署到Linux

    一.环境介绍 1..net开发环境:asp.net core 3.1 2.Linux环境:CentOS Linux release 7.9.2009 (Core) 3.Swagger: Swashbu ...

  4. 利用github+hexo搭建的博客

    用github+hexo新建了一个博客,欢迎来访,如果想要搭建类似框架的博客,可以联系我. 新博客地址:只为自由书写的博客

  5. AtCoder Beginner Contest 164

    比赛链接:https://atcoder.jp/contests/abc164 A - Sheep and Wolves #include <bits/stdc++.h> using na ...

  6. B. Modular Equations

    Last week, Hamed learned about a new type of equations in his math class called Modular Equations. L ...

  7. Filebeat 日志收集

    Filebeat 介绍 Filebeat 安装 # 上传代码包 [root@redis03 ~]# rz filebeat-6.6.0-x86_64.rpm # 安装 [root@redis03 ~] ...

  8. 调用其他文件__name__=='__main__'下代码

    如何调用其他文件__name__=='__main__'下代码 使用os.system()或者subprocess.run()执行该文件,用这种方法相当于直接创建了一个子进程,新调用的py不影响当前调 ...

  9. _.shuffle、_.debounce中下划线对象的理解

    Vue 官方教程中有_.shuffle._.debounce,不明白"_"是怎么来的,有什么意义? Lodash 和 Underscorejs 都有相关解释

  10. BellmanFord为什么只需松弛V-1次

    首先s不用松弛,V-=1 然后对于其他的顶点..每次都至少能完全松弛一个顶点.. 为什么呢..因为初始d[s]=0,所以和s相邻接的边都将被松弛完全..无论松弛的顺序 那么对于这个图,无论松弛的顺序都 ...