Redis 6.0 客户端缓存的服务器端实现
原文: https://redis.io/topics/client-side-caching 翻译:Wen Hui 转载:中间件小哥 客户端缓存是用于提供高性能服务的一项技术。它使用应用服务器节点(通常情况下和数据库服务器使用不同的物理机)的可用内存,用来在应用端直接存储一部分数据库信息。 正常情况下当客户端请求应用服务器一些数据时,应用服务器会请求数据库这些信息,如下图所示: 当使用客户端缓存时,应用服务器端会存储经常访问的数据请求,以便在下次客户端请求过程中重用之前的数据库查询回复,而无需再向数据库进行查询。 尽管用于本地缓存的应用程序内存可能不是很大,但是与请求诸如数据库之类的网络服务相比,访问本地计算机内存所需的时间要小几个数量级。由于在通常情况下,少量比例数据会经常频繁的被访问,因此该模式可以极大地减少应用程序获取数据的延迟,并同时减少数据库端的负载。 此外,在许多数据集中,信息很少进行更改。例如,社交网络中的大多数用户帖子要么是不变的,要么很少被用户编辑。再加上通常只有一小部分帖子非常受欢迎的事实,要么是因为一小群用户拥有大量关注者,或者因为最近的帖子具有更高的曝光度,由此可见为什么这种模式在实际情况下会非常有用。 通常来说,客户端缓存的两个主要优点是: 可用的数据延迟非常短。 数据库系统接收的查询较少,从而可以使用更少的节点来提供相同的数据服务。