IT袋

当前位置:主页 > 经验教程 > 建站编程 >

什么是缓存

什么是缓存 策略有哪些?

时间:2023-12-21 23:13:23 来源:IT袋 作者:马勇
导读:什么是缓存,关于这方面的知识你知道吗?什么是缓存的话题,下面小编为您详细解答 什么是缓存? 缓存就像是一个超快速的存储区域,保存了计算机或手机经常使用的内容的副本,

什么是缓存

关于这方面的知识你知道吗?什么是缓存的话题,下面小编为您详细解答

什么是缓存?

缓存就像是一个超快速的存储区域,保存了计算机或手机经常使用的内容的副本,这样可以在不访问较慢的主存储器的情况下快速获取。

一个现实中的例子可以是,每当我们购买杂货时,通常会倾向于大量购买,这样可以让杂货多存放一段时间,避免频繁去市场购买,这其实就是将杂货缓存在我们附近,而不是每次都从市场购买。

在系统设计中,如果缓存得当,它可以显著提升系统的性能。

缓存策略取决于数据访问模式,即数据是如何读取或写入的。

例如:

  • 系统是读取密集型还是写入密集型?
  • 系统是否需要高一致性?

等等……

因此,选择正确的写入缓存策略非常关键,下面是一些不同的缓存策略

1. 缓存旁路(懒加载)

在这种设置中,应用程序缓存被分离出来,应用程序显式地与缓存和数据库一起工作。

这是一种技术,应用程序代码负责管理缓存。

当需要时,应用程序会将数据显式加载到缓存中,而缓存不会主动参与数据获取。

什么是缓存

该图示了其工作原理。

使用场景:

适用于读取密集型系统,Redis 或 Memcached 非常受欢迎,我曾经在缓存旁路设置中使用过 Redis 以及 Mongo-db,效果非常显著。

这种读取技术可以与诸如写入旁路缓存之类的数据写入技术相结合,我接下来会解释。

优点:

灵活性:允许选择性缓存特定数据。

控制:应用程序控制数据何时加载到缓存中。

缺点:

提供过期数据:可能会提供过期数据,但如果我们实现了缓存的TTL(生存时间),则可以避免这种情况。

2. 写入旁路

跳过缓存,直接将数据写入数据库,并在读取用户请求的数据时更新缓存。

使用场景:

写入旁路可以与读取通过结合,对于数据写入一次,读取频率较低或几乎不读取的情况下提供良好的性能,例如实时日志或聊天室消息。

同样,这种模式也可以与缓存旁路结合使用。

3. 读取穿透缓存

读取穿透缓存是一种策略,当发生缓存未命中时,缓存会自动从底层数据源检索数据并填充自身。

这种技术与应用程序的数据访问层无缝集成,确保缓存与数据源保持同步。

相关阅读

  • 如何创建网站教程 个人搭建网站的步骤

    如何创建网站教程 个人搭建网站的步骤

    小编带来的是如何创建网站教程和个人搭建网站的步骤IT技巧方面的经验,下面小编为您详细解答 随着各种网页制作工具的普及,现在不懂技术的个人也能顺利建站了。不过使用网页制作工具

  • 如何自己创建网址 免费创建网站的流程

    如何自己创建网址 免费创建网站的流程

    小编带来的是如何自己创建网址和免费创建网站的流程的IT知识,一起跟随小编看看吧! 创建网站越来越简单,也越来越多人想要创建自己网站。那么怎么创建自己网站呢?创建自己网站的步

  • 如何计算服务器机架单元U?

    如何计算服务器机架单元U?

    关于这个如何计算服务器机架单元U的相关话题,接下来小编为网友介绍。 机架单元U的计算非常简单。它基于机架上标准19英寸机架的孔间距来确定。 这些孔通常以三个孔为一组排列,每个1

  • Eclipse使用指南:如何设置字体大小?

    Eclipse使用指南:如何设置字体大小?

    小编为大家讲一讲Eclipse使用指南方面的知识,具体内容如下: Eclipse是一款广泛使用的集成开发环境(IDE),在软件开发者中极为流行。 它支持多种编程语言,包括Java、C++和Python等。 对于一