varnish+nging与squid+apache缓存

2024-03-31 12:38

本文主要是介绍varnish+nging与squid+apache缓存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大量数据,大并发,采用缓存,可以减少服务器负担,提高客户端访问加载速度

1.缓存服务器推荐linux操作系统来作,生产环境不宜使用windows操作系统作缓存服务器;

2.linux环境下,推荐采用varnixh+nginx方案;

3.稳定是缓存服务器的第一要务;

一.缓存有多种方式


1.开发语言提供缓存API进行缓存,可以在开发编码级进行;
2.开发语言和缓存服务器配合缓存数据或文件放到独立服务器上,这类有memcached服务器;
3.通过反向代理进行缓存,代理软件主要有Varnish,Squid等,可以作负载均衡,也可以缓存文件;
4.本地缓存,利用HTTP协议提供机制,进行本地缓存,Nginx,Apache等;

二.所需要软件版本

1.Varnish代理服务器
官方推荐windows版本不用于生产环境!所以还是采用Linux服务器,使用Linux版本.
各linux套件的软件仓库已经包括了varnish,当前版本是Varnish Cache 3.0.3
2.nginx
nginx-1.2.8.tar.gz

或者

1.Squid代理服务器

推荐使用Linux环境,当前版本:squid-3.3.3.tar.gz
Windows平台下当前使用稳定版本:squid-2.7.STABLE8-bin.zip

2.Apache

各linux套件软件仓库已经包括,当前版本httpd-2.4.4.tar.gz 

windows平台:httpd-2.2.24-win32-x86-no_ssl.msi

3.Tomcat,IIS

三.架构
1.后端的应用服务器Tomcat,IIS均可;
2.本地缓存采用Nginx(或者Apache的mod_expires.so模块)进行Response的Cache-Control,Expires配置控制;
3.对于本地缓存到期后,向服务器再次请求缓存内容的,采用Varnish(或者Squid)代理服务器缓存静态文件;

Varnish(或者Squid)接收客户浏览器发送的请求,转向Nginx(或者Apache)服务器,再由Nginx(或者Apache)转向Tomcat,IIS服务器.Varnish(或者Squid)代理服务器设置的缓存时间一般大于Nginx(或者Apache)在expires设置的时间.

这篇关于varnish+nging与squid+apache缓存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/864356

相关文章

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

使用Spring Cache时设置缓存键的注意事项详解

《使用SpringCache时设置缓存键的注意事项详解》在现代的Web应用中,缓存是提高系统性能和响应速度的重要手段之一,Spring框架提供了强大的缓存支持,通过​​@Cacheable​​、​​... 目录引言1. 缓存键的基本概念2. 默认缓存键生成器3. 自定义缓存键3.1 使用​​@Cacheab

Nacos客户端本地缓存和故障转移方式

《Nacos客户端本地缓存和故障转移方式》Nacos客户端在从Server获得服务时,若出现故障,会通过ServiceInfoHolder和FailoverReactor进行故障转移,ServiceI... 目录1. ServiceInfoHolder本地缓存目录2. FailoverReactorinit

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置

防止缓存击穿、缓存穿透和缓存雪崩

使用Redis缓存防止缓存击穿、缓存穿透和缓存雪崩 在高并发系统中,缓存击穿、缓存穿透和缓存雪崩是三种常见的缓存问题。本文将介绍如何使用Redis、分布式锁和布隆过滤器有效解决这些问题,并且会通过Java代码详细说明实现的思路和原因。 1. 背景 缓存穿透:指的是大量请求缓存中不存在且数据库中也不存在的数据,导致大量请求直接打到数据库上,形成数据库压力。 缓存击穿:指的是某个热点数据在