memcached的客户端-服务器模型有什么好处?



据我所知,使用memcached的好处是通过将存储在数据库中的信息缓存在内存中来缩短访问时间。但是,基于网络协议(例如TCP)的客户端-服务器模型的时间开销不是也相当大吗?我的猜测是,实际上可能更糟,因为网络访问通常比硬件访问慢。我做错了什么?

谢谢!

的确,缓存不会解决网络传输时间问题。然而,对用户来说重要的是从请求到交付的总时间。如果这个总时间是可以感知的,那么你的网站似乎没有响应。适当使用缓存可以提高响应能力,即使您的总体传输时间超出了您的控制范围。

此外,缓存可以用来降低服务器的整体负载,这将为您购买更多的周期。考虑一个查询的情况,该查询的响应对所有用户都是相同的——例如,假设每次加载页面时都显示一些关于网站活动或状态的信息,而这些信息并不取决于加载页面的用户的身份。让我们也想象一下,这些信息的变化不会很快。在这种情况下,您可能会决定每分钟、每五分钟、每N个页面加载一次或类似的性质重新计算信息,并始终提供缓存版本。在这种情况下,您将获得两个好处。首先,您已经省去了大量重复计算的值,这些值实际上不需要重新计算,这会减轻服务器的一些负载。其次,您已经确保用户总是从缓存而不是计算中获得服务,如果计算成本高昂,这可能会加快他们的速度。在适当的情况下,这两种方法都可以从用户的角度提高性能。但当然,与任何优化一样,你需要有基准,并实际基准到数据,而不是你对什么应该是正确的看法。

最新更新