【.com快译】我们都遇到过应用运行卡顿的情况。即使是最好的代码也会在重负载下降低性能。缓存是一种快速且相对便宜的方式,可以大大提高性能和缩短响应时间。Redis简介Redis(远程字典服务器)是一种开源内存数据存储,最常用作分布式缓存。它提供了多种高效的数据结构,旨在允许高速访问您的数据。Redis也称为NoSQL数据库和键/值存储。由于Redis将数据存储在内存中而不是磁盘中,因此它提供了无与伦比的速度、可靠性和性能。那么,什么是内存数据存储?简而言之,它是一个将整个数据集保存在内存中的数据库。这意味着无论何时查询数据库或更新数据库中的数据,都只会访问主内存。因此,这些操作不涉及磁盘。这很好,因为主存比任何磁盘都快得多。为什么要用Redis作为缓存?缓存的主要目的是减少访问存储在应用程序主内存空间之外的数据所需的时间。在没有缓存的情况下,应用程序根据每个请求与数据源进行交互;使用缓存,只需要对外部数据源进行一次请求,后续访问由缓存处理。当应用程序依赖外部数据源时,这些数据源的延迟和吞吐量会造成性能瓶颈。提高性能的一种方法是在内存中存储和处理数据,使其更靠近应用程序。这时候Redis就可以发挥作用了。Redis旨在将所有数据存储在内存中,从而在读取或写入数据时提供尽可能高的性能。Redis非常快。它提供亚毫秒级响应时间,每秒可支持数百万个请求,以支持要求苛刻的实时应用程序。您通常会做的是将经常访问的数据存储在Redis中,这样无论何时请求数据,它都可以来自缓存而不是您的数据库。然后,每当您对数据进行更改时,您都可以使相关缓存失效,这样您就可以使缓存保持最新。Redis缓存如何工作假设您有一个基于WordPress的网站。首次加载WordPress页面时,会在服务器上执行数据库查询。Redis将记住或缓存该查询。因此,当另一个用户加载WordPress页面时,结果将从Redis和内存中提供,而无需查询数据库。对象缓存通过在内存中缓存加载WordPress页面所需的SQL查询来工作。当页面加载时,生成的SQL查询结果由Redis从内存中提供,因此查询不必访问数据库。结果是更快的页面加载时间和更少的服务器对数据库资源的影响。图1.Redis的工作原理访问内存(物理RAM)中的数据比访问硬盘驱动器上的数据快得多。因此很容易注意到,如果应用程序要访问的数据位于主内存中,则访问该数据比存储在硬盘驱动器上要容易得多。如果查询在Redis中不可用,则数据库提供结果,Redis将结果添加到缓存中。如果该值在数据库中更新(例如在WordPress中创建新帖子或页面),则该查询的Redis值将失效,以防止提供不正确的缓存数据。为什么要使用Redis?快速响应的数据库:它将数据存储在内存中而不是磁盘上,因此在执行读写操作时,响应时间比其他数据库更快。可以与其他数据库一起使用以帮助减少负载和提高性能,但也可以用作主数据库。数据持久化:Redis使用持久化磁盘存储,旨在应对进程中断和网络瓶颈。会话缓存:Redis最明显的用例之一是将其用作会话缓存。使用Redis优于其他会话存储的优势在于Redis提供了持久性。基于键的访问:Redis基于键值模型,Redis通过键存储和检索数据。基于密钥的访问导致极其高效的访问时间,一种自然映射到缓存的模型。有关Redis和相关资源的更多信息,您可以访问文档:https://redis.io/。原标题:RedisasCache:HowitWorksandWhytoUseit,作者:BobbyBorisov
