首页 > 其他分享 >复用优化:缓冲(Buffer)+缓存(Cache)

复用优化:缓冲(Buffer)+缓存(Cache)

时间:2024-09-05 15:50:57浏览次数:5  
标签:缓存 Buffer 缓冲 Cache 复用 操作

在写代码的时候,你会发现有很多重复的代码可以提取出来,做成公共的方法。这样,在下次用的时候,就不用再费劲写一遍了。

这种思想就是复用。上面的描述是编码逻辑上的优化,对于数据存取来说,有同样的复用情况。无论是在生活中还是编码中,重复的事情一直在发生,如果没有复用,工作和生活就会比较累。

在软件系统中,谈到数据复用,我们首先想到的就是缓冲和缓存。注意这两个词的区别,它们的意义是完全不同的,很多同学很容易搞混,在这里简单地介绍一下。

  • 缓冲(Buffer),常见于对数据的暂存,然后批量传输或者写入。多使用顺序方式,用来缓解不同设备之间频繁地、缓慢地随机写,缓冲主要针对的是写操作
  • 缓存(Cache),常见于对已读取数据的复用,通过将它们缓存在相对高速的区域,缓存主要针对的是读操作

与之类似的,是对于对象的池化操作,比如数据库连接池、线程池等,在 Java 中使用得非常频繁。由于这些对象的创建和销毁成本都比较大,我们在使用之后,也会将这部分对象暂时存储,下次用的时候,就不用再走一遍耗时的初始化操作了。

标签:缓存,Buffer,缓冲,Cache,复用,操作
From: https://blog.csdn.net/2401_86608186/article/details/141816849

相关文章

  • String,StringBuffer,StringBuilder有什么区别?
    1.可变性:String类使用了final关键字字符数组保存字符串,所以String对象是不可变的,也就是我们说的常量。而StringBuffer和StringBuilder均继承了AbstractStringBuilder类,且它们的构造方法都是调用父类的构造方法。AbstractStringBuilder类中也使用了字符数组保存字符串,但是没有使用......
  • Redis篇 - 深入了解查询缓存与缓存带来的问题
    引言在现代Web应用程序中,为了提高数据访问速度和减轻数据库的压力,缓存技术变得越来越重要。Redis作为一款高性能的键值存储系统,在缓存领域有着广泛的应用。然而,随着缓存的引入,一系列新的挑战也随之而来。本文将探讨查询缓存的基本概念以及常见的几个问题:读写不一致、缓存穿透......
  • BufferedMutator hbase
    BufferedMutatorhbase我整理的一些关于【Java】的项目学习资料(附讲解~~)和大家一起分享、学习一下: https://d.51cto.com/f2PFnN如何实现BufferedMutatorhbase介绍在使用HBase进行数据存储时,我们常常需要进行批量写入操作。为了提高写入性能和减少网络开销,HBase提供了Buffe......
  • 解决VSCode 使用git拉取前端代码报错问题,屏蔽不参与git提交的文件,git rm --cached,git
    问题描述:`最近,在公司共同开发Angular前端项目过程中,我使用的开发工具时VSCode,遇到一个问题,比如environment.js,package-lock.json,angular.json等等文件都是不需要上传的,别人上传了,我也不想覆盖的文件,你懂吧。但是呢,我一拉代码,就会提示有冲突,要我解决,不然拉不了,有个蠢办法就......
  • 【Python使用】嘿马头条项目从到完整开发教程第8篇:缓存,多级缓存【附代码文档】
    本教程的知识点为:简介1.内容2.目标产品效果ToutiaoWeb虚拟机使用说明数据库理解ORM作用思考:使用ORM的方式选择数据库SQLAlchemy操作1新增2查询all()数据库分布式ID1方案选择2头条使用雪花算法(代码toutiao-backend/common/utils/snowflake)数据库Red......
  • 每天5分钟复习OpenStack(十五)Ceph与Bcache结合
    上一章我们成功部署了bcache,这一章我们将Ceph与Bcache结合来使用,使用Bcache来为ceph的数据盘提速。1ceph架构一个标准的ceph集群可能是如下的架构,SSD/NVME存储元数据,而SATA盘存储数据。这样的架构下,物理介质的SATA盘读写速率上限决定了存储集群Ceph的上限(木桶效应)。如果在......
  • 【Redis】缓存击穿、缓存穿透、缓存雪崩原理以及多种解决方案
    一、前言在SpringCloud微服务集群项目中,客户端的请求首先会经过Nginx,Nginx会将请求反向代理到Gateway网关层,接着才会将请求发送到具体的服务service。在service中如果要查询数据,则会到缓存中查询,如果缓存未命中,再到数据库中查询数据。作为缓存的Redis扛住了系统......
  • 如何优化浏览器缓存
    每当用户访问您的网站,他他们的浏览器需要从服务器上下载页面显示所需的资源(图片、CSS、JavaScript和字体等),这些资源的下载会占用带宽,并需要一定的传输时间。但通过正确配置,您可以告知用户的浏览器保存部分文件,这样下一次访问时可以直接从缓存中读取,从而加快页面加载速度。什么是浏......
  • android java BufferedWriter writer 需要关闭资源吗?
    在Android开发中,使用Java的`BufferedWriter`或其他类似的I/O资源时,**确实需要关闭资源**。这是因为:1.**释放系统资源**:关闭`BufferedWriter`会释放与之关联的底层资源,如文件句柄。2.**保证数据完整性**:确保所有写入操作完成并刷新缓冲区,这样数据才能被完整地写入到文件中。......
  • 缓存类型以及读写策略
    缓存(Cache)是一种高效的数据存储技术,旨在提高数据访问速度。它将频繁访问或最近使用的数据临时存储在更快速但较小的存储介质(如内存)中,以减少从较慢的存储设备(如硬盘或远程服务器)读取数据的次数。以下是一些关于缓存的关键点:缓存的分类在系统开发中,缓存可以根据不同的维度进行......