Redis作为缓存:如何工作以及为什么使用它

应用程序缓存对于运行任何大型web应用程序都至关重要。Redis在这里帮助您完成这项任务。

当应用程序运行缓慢时,我们每个人都会遇到这种情况。即使是最好的代码在重负载下也会降低其性能。

缓存是提高性能和减少响应时间的一种快速且相对便宜的方法。

什么是Redis

Redis(
重新
微粒
DI
摩擦
S
server)是一种开源的内存数据存储,通常用作分布式缓存。它提供了各种高效的数据结构,旨在实现闪电般的数据访问。

Redis也称为NoSQL数据库和键值存储。因为Redis将数据存储在内存中而不是磁盘上,所以它提供了无与伦比的速度、可靠性和性能。

现在,内存中的数据存储是什么?简单地说,它是一个将整个数据集保存在RAM中的数据库。每次查询数据库或更新数据库中的数据时,只访问主存。

所以,在这些操作中不涉及磁盘。这很好,因为主内存比任何磁盘都快。

为什么使用Redis作为缓存

缓存的
主要的,重要的
目的是减少访问存储在应用程序主内存空间之外的数据所需的时间。

在不使用缓存的情况下,应用程序会与每个请求的数据源进行交互。相反,当使用高速缓存时,只需要对外部数据源的单个请求,随后的访问由高速缓存提供。

当应用程序依赖于外部数据源时,这些数据源的延迟和吞吐量可能会造成性能瓶颈。提高性能的一种方法是在物理上更靠近应用程序的内存中存储和操作数据。

这就是Redis发挥作用的地方。
Redis旨在将所有数据存储在内存中,在读取或写入数据时提供尽可能快的性能。

Redis速度极快。它提供了亚毫秒的响应时间,使每秒数百万个请求能够为要求苛刻的实时应用程序供电。

通常,您希望将频繁访问的数据存储在Redis中,以便每当请求数据时,数据都可以来自缓存而不是数据库。

然后,无论何时对数据进行更改,都可以使相关缓存无效,以便使缓存保持最新。

Redis缓存是如何工作的

假设你有一个基于WordPress的网站。

第一次加载WordPress页面时,会在服务器上执行数据库查询。Redis会记住或缓存此查询。

因此,当另一个用户加载WordPress页面时,结果将从Redis和内存中提供,而无需查询数据库。

对象缓存的工作原理是将SQL查询缓存在加载WordPress页面所需的内存中。然后,当加载页面时,Redis会从内存中提供结果SQL查询结果,因此查询不必访问数据库。

其结果是更快的页面加载时间和更少的服务器对数据库资源的影响。

访问内存(物理RAM)中的数据要比访问硬盘快得多。
因此,很容易注意到,如果应用程序想要访问的数据在主内存中,那么访问这些数据比存储在硬盘上要容易得多。

如果查询在Redis中不可用,则数据库会提供结果,Redis会将结果添加到其缓存中。

然而,假设数据库中更新了一个值(例如,在WordPress中创建了一个新的帖子或页面)。然后,该查询的Redis值将无效,以防止出现不足的缓存数据。

为什么使用Redis?

  • 快速响应数据库:
    将数据存储在内存中而不是磁盘上;当执行读和写操作时,它的响应时间比其他的更快。它可以与其他数据库一起使用,作为减少负载和提高性能的支持,但也可以用作主数据库。
  • 数据持久性
    :
    Redis使用持久性磁盘存储来抵御进程中断和网络瓶颈。
  • 会话缓存
    :Redis最明显的用例之一是将其用作会话缓存。在其他会话存储中使用Redis是因为Redis提供了持久性。 
  • 基于密钥的访问:
    Redis基于键值模型,在该模型中,数据是按键存储和从Redis中提取的。基于密钥的访问允许高效的访问时间,并且该模型自然地映射到缓存。

因此,我们只触及了关于这个主题的信息的表面。您可以访问文档中列出的可用资源,以了解有关学习Redis的更多信息。