我有兴趣扩大我在设计大规模分布式系统方面的知识面。我遇到了缓存和代理服务器的主题。例如,对于代理服务器,我们使用nginx,nginx也有自己的缓存。现在,nginx和redis内部缓存的主要区别是什么?特别是我读了很多关于代理服务器的文章。我不完全明白这些代理服务器的意义。有些文章确实提到负载均衡器、代理和缓存是在nginx本身中完成的,有些文章为每个都提供了单独的服务器。有没有人能用一种更好的方式来阐述这些问题?提前谢谢。
我有兴趣扩大我在设计大规模分布式系统方面的知识面。我遇到了缓存和代理服务器的主题。例如,对于代理服务器,我们使用nginx,nginx也有自己的缓存。现在,nginx和redis内部缓存的主要区别是什么?特别是我读了很多关于代理服务器的文章。我不完全明白这些代理服务器的意义。有些文章确实提到负载均衡器、代理和缓存是在nginx本身中完成的,有些文章为每个都提供了单独的服务器。有没有人能用一种更好的方式来阐述这些问题?提前谢谢。
1条答案
按热度按时间wixjitnu1#
他们每个人都有自己的目的。nginx可以缓存您部署的静态资产,还可以缓存来自后端服务器的响应,具体取决于它们的缓存控制设置。这对于重复下载的数据、js/html/image文件等非常有用。它还可以缓存http响应,以便接收相同的请求。
但是,在您的应用程序中,您可能会决定某些数据的计算代价很高,或者会被重复请求,因此您决定将这些数据缓存在redis中。这可以是您选择的任何数据,不一定是http请求的整个api响应,甚至是中间数据,您不想访问数据库,而是从缓存返回结果。