首页 > 其他分享 >缓存介绍

缓存介绍

时间:2024-08-28 23:03:40浏览次数:12  
标签:缓存 请求 数据库 介绍 线程 数据 分布式

从业务层面上的堆数据库下性能瓶颈的解决方案:

分库分表、读写分离

程序员修神之路--略懂数据库集群读写分离而已


缓存

缓存 (Cache):本质是数据交换的一段缓冲区,也可以称为一种存储数据的组件,主要用于减小数据交换双方速度不匹配的问题。

缓存在计算机世界里是一个常见并且不可忽视的一个重要因素,几乎遍布于各个领域。例如 CPU 的一级缓存,二级缓存;浏览器的缓存等。使用缓存时要认识到缓存的数据具有有效期,也就是说可能随时会消失。虽然类似 radis 这些组件都提供数据持久化的功能,这样数据就不会消失。但还要考虑两点:

  • 当组件提供持久化功能时,必然会发生磁盘的 IO 操作,而磁盘 IO 的操作必然会大大降低缓存组件的性能,那缓存的价值还有吗?
  • 缓存的数据在时间定义上是一种临时性的数据,如果做了持久化,这种临时性的意义就不存在了,而且还占用了磁盘的存储空间

缓存的常见存储介质为内存,但这并不意味只有内存可以存储缓存数据。缓存的作用是提供高速的读写功能,所以如果设备足够快,理论上都可以作为缓存使用,比如现在的 SSD,在一些性能不太严格和敏感的场景下就可以作为存储缓存数据的介质。

缓存应用场景

理论上,任何需要提高访问速度的环节都可以加入缓存。但系统加入缓存模块会在一定程度上增加系统的复杂度,所以在是否引入缓存的问题上,需要根据业务场景来平衡。一般符合以下几种特征的数据可以考虑引入缓存模块:

  1. 数据很少变动:最适合缓存,因为基本不涉及缓存的更新操作,只需将数据加载到缓存即可。

相关文章

  • mvc项目-jsp简单介绍
    创建mvc项目MVC的概念M:model模型的意思代表和数据相关的(数据类的包操作数据类的包)V:view视图的意思代表的就是我们的前端页面C:controllerjava的核心逻辑代码就是servlet后期做项目的时候都是按照这样的项目设计模式去分模块做的。创建新的web项目准......
  • 自我介绍&软工5问
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13228这个作业的目标开通博客、Github账号。熟悉博客园的使用和博客的编辑。进行自我介绍。想通过学习该课......
  • Altium Designer21电路设计软件介绍 AD21安装AD19(PCB设计软件)
    AltiumDesigner是一款功能强大的电子设计自动化(EDA)软件,主要用于绘制印刷电路板(PCB)设计和开发嵌入式系统。其主要特点包括:1.统一的FPGA、PCB和嵌入式系统设计平台,实现了从概念设计到产品上市的全流程解决方案。2.强大的网络化设计功能,支持实时多方协同和设计数据......
  • 自我介绍+软工5问
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-12这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-12/homework/13219这个作业的目标介绍你自己,比如你的兴趣爱好,学习经历,提出5个你想弄懂的问题。你想收获些什么呢?自我......
  • 自我介绍+软工5问
    自我介绍大家好,我是广东工业大学计算机学院2022级计算机科学与技术专业4班的一名大三的学生,我平时喜欢读书和乒乓球,假期的时候喜欢出去走走,旅旅游。软工五问问题一:在软件工程中,软件生命周期包括哪些阶段?每个阶段的主要任务是什么?问题二:需求分析在软件工程中起着怎样的关键作用......
  • Typora 软件介绍和利用
    Typora软件介绍Typora是一款功能强大的Markdown编辑器,以简洁直观的设计和无缝的实时预览而著称。本文将详细介绍Typora的功能、优势以及使用体验。目录简介主要功能软件优势使用体验系统支持安装与设置简介Typora是一款由AbnerLee开发的Markdown编辑器,旨......
  • Submit软件详细介绍
    Submit软件详细介绍Submit是一款用于自动化任务提交和管理的软件工具,广泛应用于大规模计算、数据处理、以及其他需要批量任务管理的领域。它提供了高效的任务调度、资源管理和错误恢复功能,使得用户可以轻松管理复杂的任务流。功能概述1.任务提交Submit允许用户方便地......
  • Prism:框架介绍与安装
    Prism:框架介绍与安装什么是Prism?Prism是一个用于在WPF、XamarinForm、Uno平台和WinUI中构建松散耦合、可维护和可测试的XAML应用程序框架Githubhttps://github.com/PrismLibrary/PrismNuGethttps://www.nuget.org/packages/Prism.WpfVS2022拓展功能:MVVM、依赖......
  • 算数、赋值、单目操作符介绍
    操作符的介绍目录算数操作符1.1:+和-1.2:*1.3:/1.4:%赋值操作符2.1:连续赋值2.2:复合赋值符单目操作符3.1++和--3.1.1:前置++和前置--3.1.2:后置++和后置--3.2:+和-算数操作符算数操作符包含以下几个符号:1:+(加号)2:-(减号)3:*(乘号)4:/(除号)5:%(求余号)这五种符号在C语言运算中起......
  • 自我介绍+软工5问
    这个作业属于哪个课程软件工程这个作业要求在哪里作业要求这个作业的目标学习markdown语法,学会使用博客以及了解github相关知识自我介绍我是广东工业大学计科专业的张继凯,来自于汕尾陆河县的客家人。我有时候虽然表面看起来冷清,但其实我的内心对很多事物都很有......