当前位置: 首页 > news >正文

SpringBoot配置第三方专业缓存技术Redis

Redis缓存技术

Redis(Remote Dictionary Server)是一个开源的内存中数据结构存储系统,通常用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,并提供了丰富的功能和灵活的配置选项。

Redis 的特点和优势

  1. 内存存储和持久化

    • Redis数据通常存储在内存中,因此访问速度非常快。
    • 可以通过周期性快照和日志追加(append-only file, AOF)方式将数据持久化到磁盘,保证数据安全性和持久性。
  2. 丰富的数据类型

    • Redis支持多种数据结构,如字符串(String)、哈希表(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等,每种数据结构都带有丰富的操作命令,能够满足不同的应用场景需求。
  3. 原子操作

    • Redis的命令是原子性的,即一个命令的执行不会被其他命令打断,这样可以保证多个操作的一致性。
  4. 丰富的功能

    • 支持事务(Transaction)、发布/订阅(Pub/Sub)、Lua脚本、管道(Pipeline)等高级功能,能够满足复杂的应用需求。
  5. 高性能

    • Redis是单线程的,通过异步方式处理请求,避免了多线程的竞争和上下文切换开销,因此能够提供高吞吐量和低延迟的服务。
  6. 分布式

    • Redis Cluster支持分布式部署,能够自动将数据分片存储在多个节点上,提高了系统的扩展性和容错性。

Redis 在缓存中的应用

  1. 缓存读写速度快

    • Redis适合作为高速缓存存储,将经常访问的数据缓存在内存中,以提高访问速度。
  2. 缓存失效策略

    • Redis支持设置过期时间(TTL),可以为每个键设置生存时间,当超过指定时间后自动删除,从而实现自动过期和释放内存的功能。
  3. 减轻后端数据库压力

    • 通过将频繁访问的数据缓存在Redis中,可以减轻后端数据库的负载,提高系统整体的性能和并发能力。
  4. 分布式缓存

    • Redis Cluster可以实现分布式缓存,通过数据分片和副本机制提高缓存的可扩展性和可靠性。

总结

Redis作为一种高性能、多功能的内存中数据存储系统,不仅适合作为缓存使用,还可以作为数据库和消息中间件使用。它的特点包括快速访问、丰富的数据结构、高度可扩展性和强大的功能,因此被广泛应用于各种大规模应用和系统中,尤其在需要快速响应和高并发的场景下表现突出。

首先我们导入redis的坐标

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

我们springboot的yml配置里修改一下就行

server:port: 8080#下面这些内容是为了让MyBatis映射
#指定Mybatis的Mapper文件# 专门用来配置的对象datasource
spring:datasource:druid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTCusername: rootpassword: 123456devtools:restart:# 设置不参与热部署的文件或文件夹exclude: static/**,public/**,config/application.ymlcache:type: redisredis:host: localhostport: 6379# 配置mybatis-plus
mybatis-plus:global-config:db—config:table-prefix: tbl_configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

启动redis

用postman发起请求

获取了缓存

去redis服务器去查看一下

查询到了数据

就是用redis帮忙存储到了数据

进行其他配置

cache:type: redisredis:use-key-prefix: truecache-null-values: falsekey-prefix: aatime-to-live: 10s
redis:host: localhostport: 6379

配置其他信息

可以进行各种操作

进行了验证操作

我们在做Ehcache的时候要配置文件

而redis不需要

因为我们在yml里面直接进行了配置

个人号推广

博客主页

多多!-CSDN博客

Web后端开发

https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482

Web前端开发

https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482

数据库开发

https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482

项目实战

https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482

算法与数据结构

https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482

计算机基础

https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482

回忆录

https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482

相关文章:

  • 03-ES6新语法
  • mac如何检测硬盘损坏 常用mac硬盘检测坏道工具推荐
  • ultralytics官方更新 | 添加YOLOv10到ultralytics
  • Dockerfile封装制作pytorch(tensorflow)深度学习框架 + jupyterlab服务 + ssh服务镜像
  • 工业用焦炉集气管压力控制状态远程预警方法
  • 服务器雪崩的应对策略之----熔断机制
  • PXE批量装机
  • Flink DataSource介绍
  • 【html】用html+css实现银行的账户信息表格
  • Java面试——认证与授权
  • 【ARMv8/ARMv9 硬件加速系列 2 -- ARM NEON 加速运算介绍】
  • 浔川AI社宣布正式开创“浔川AI助手”——浔川AI社
  • 矩阵补全IGMC 学习笔记
  • ubuntu中如何使用supervisor管理进程
  • 毕业设计——可视化实验仿真平台
  • CentOS 7 防火墙操作
  • css布局,左右固定中间自适应实现
  • JavaScript 奇技淫巧
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 从零开始的无人驾驶 1
  • 汉诺塔算法
  • 前端存储 - localStorage
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 学习笔记:对象,原型和继承(1)
  • 在weex里面使用chart图表
  • 《码出高效》学习笔记与书中错误记录
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​io --- 处理流的核心工具​
  • # Java NIO(一)FileChannel
  • ${ }的特别功能
  • (11)iptables-仅开放指定ip访问指定端口
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (附源码)计算机毕业设计高校学生选课系统
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (学习总结)STM32CubeMX HAL库 学习笔记撰写心得
  • (一) storm的集群安装与配置
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (原創) 未来三学期想要修的课 (日記)
  • (转) Face-Resources
  • (转)LINQ之路
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ***利用Ms05002溢出找“肉鸡
  • .chm格式文件如何阅读
  • .htaccess配置常用技巧
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET Core中Emit的使用
  • .NET Core中如何集成RabbitMQ
  • .net 获取某一天 在当月是 第几周 函数
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET牛人应该知道些什么(2):中级.NET开发人员