Squid服务的缓存概念

news/2024/3/28 16:31:53/文章来源:https://blog.csdn.net/Liang_GaRy/article/details/129222981

Squid缓存概念

squid是一个缓存服务器的守护进程

之前涉及的缓存服务:redis

2-8原则:80%的访问就是从20%的数据提供的;因此把20%的数据给到缓存–>完美解决等待时间;

nginx是没有缓存的服务的;那么专业的事情就交给专业服务来部署squid服务

  • 支持的代理协议:FTP / HTTP /SSL,套接字
  • 存储分类:磁盘>分区>目录>Object(缓存文件)
    • 一般是只有二级目录:存放在Object目录上
    • 涉及分区就是涉及文件系统;
  • 索引方式:
    • Hash Tables:目录–>每个Digest的索引信息
      • 大概的目录篇章;
    • Digest Tables:索引–>不同分区对应的Object;

Varnish也是另外一款缓存的概念;

  • squid的竞争者:
  • 架构比较新颖–>功能比较多
  • 技术的更新是需要时间的—>会不会取代squid?

squid的工作逻辑图:

客户端-->请求数据--->squid代理服务器--->后端服务器
--->squid服务器询问后端服务器数据并且缓存到自己的cache上面
--->squid服务也是有最大的缓存量-->也可以设置缓存的要求

squid的工作模式:

  • 传统代理
  • 透明代理
  • 反向代理

1.1、squid的三种工作模式讲解

传统代理与透明模式–>用在内网

反向代理–>多数用在公网

2.1、传统模式:

  • 模式说明:此类工作模式为三种模式中最简单的构成,对客户端配置较不友好,主要功能为加速内网用户的访问速度,减少出口流量
  • 工作架构图:
    • 标准代理服务器必须在每一个内部主机的浏览器上明确指明代理服务器的in地址和端口号
    • 要自己手工配置代理服务器的ip和端口号

2.2、透明模式:

  • 模式说明:此类工作模式配置较为复杂,需要借助防火墙对端口进行重定向操作。但是,对于客户端来说配置较为友好无需进行任何配置即可使用代理功能,主要功能为加速内网用户的访问速度,减少出口流量
  • 工作模式:
    • 通过防火墙自动给你调转;不用自己手工添加;
    • 与传统模式相比:不需要手工配置代理服务器

2.3、方向代理

  • 模式说明:反向代理服务器位于本地 WEB 服务器和互联网用户之间,处理公网用户发送的请求并代理至内网服务中,有效减轻后端真实服务器压力,增加服务并发能力
  • 工作结构图:

1.2、squid的服务相关说明

软件包: squid-3.1STABLE21-6.e16

  • 3.0以上是C语言重写

主程序: /us/sin/squid

主配器文件: /etc/squid/squid.conf

默认监听端口: TCP 3128

默认访问日志: /ar/log/squid/access.log

特别说明: Squid 在经过 3.0 版本后使用 C 语言进行重构,效率大大提升,Centos6 标配 Squid3.0以后的版本

squid的配置文件选项说明

http port 3128#Squid 	#启动端口为 3128
access 1og /war/log squid/access.log squid # 指定 Squid 存储日志目录
cache mem 64 MB	# 指定Squid进程能够使用的内存大小
cache dir ufs /var/spool/squid 100 16 256	# 指定 Squid 对象文件存储路径使用大小限制为
100MB ,一级目录个数为 16 个,二级目录个数为 256个
visible hostmame proxy benet.com # 指定 Squid 服务器自身的主机名
dns testnames www google.com www.163.com # 指定Squid服务器测试本机是否正常时的测试域名
maximum object size 4096 KB #指定Squid最大允许缓存对象的大小
reply body max size 10 MB	# 指定允许通过 Squid 的单个元素大小

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74446.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

房屋出租管理系统

1. 铺垫 1.1 项目真实开发的过程 上来要做什么???? 有电脑—》配环境(JDK、IDEA、MAVEN……) 这个项目:房屋管理系统 从什么角度出发,第一步做什么?? 架构 …

IoT项目系统架构案例2

项目背景 1.这个项目是对之前的案例的升级改造参考:IoT项目系统架构案例_iot案例_wxgnolux的博客-CSDN博客2.基于方案1的项目实施过程中碰到的问题,对硬件设备标准化的理念及新的功能需求(如根据天气预报温度调水温,APP界面可操作性优化等)•采用目前IoT主流厂商的架…

vue中render函数的作用和参数(vue2中render函数用法)

render 函数是 Vue2.x 新增的一个函数、主要用来提升节点的性能,它是基于 JavaScript 计算。使用 Render 函数将 Template 里面的节点解析成虚拟的 Dom 。Vue 推荐在绝大多数情况下使用模板来创建 HTML。然而在一些场景中,需要 JavaScript 的完全编程能力…

gitlab部署使用,jenkins部署使用

gitlab部署使用,jenkins部署使用gitlab下载gitlab安装gitlab使用gitlab设置中文修改管理员密码创建组,创建项目,创建用户jenkins下载jenkins安装jenkin使用jenkins更改管理员密码配置拉取代码配置登录gitlab拉取代码的账号密码配置项目配置gitlab仓库配置构建构建构…

CTFer成长之路之Python中的安全问题

Python中的安全问题CTF 1.Python里的SSRF 题目提示 尝试访问到容器内部的 8000 端口和 url path /api/internal/secret 即可获取 flag 访问url: http://f5704bb3-5869-4ecb-9bdc-58b022589224.node3.buuoj.cn/ 回显如下: 通过提示构造payload&…

Android 基础知识4-3.2 EditText(输入框)详解

一、EditText(输入框)介绍 EditText在开发中也是经常使用的控件,比如,要实现一个登录页面,需要用户输入账号、密码等信息,然后我们或得用户输入的内容,把它交给服务器来判断。因此,这…

远程使用服务器上的Jupyter notebook

记录下如何远程使用服务器上的jupyter notebook。 主要是在服务器端执行以下操作: 激活需要使用的环境使用pip list 或conda list检查是否已经安装notebook。如果没有安装,则使用pip install jupyter notebook进行安装;反之忽略这一步&…

一些硬件学习的注意事项与快捷方法

xilinx系列软件 系统适用版本 要安装在Ubuntu系统的话,要注意提前看好软件适用的版本,不要随便安好了Ubuntu系统又发现对应版本的xilinx软件不支持。 如下图,发行说明中会说明这个版本的软件所适配的系统版本。 下载 vivado vitis这些都可以…

从编年史角度看大数据兴起

开源大数据编年史大数据发展的各阶段大数据诞生初期大数据百花齐放的发展之路追求性能的大数据成熟期大数据发展的各阶段 开源大数据的编年史的话,实际上分为三个阶段。一般来说它分为初期、发展期、成熟期。 初期就是大数据刚开始萌芽的一个阶段,它从…

selenium模块(自动化)

文章目录一、环境配置二、使用selenium解析源码三、基本函数四、子页面(ifFrame)(动作链,拖拽)五、实现无可视化界面,规避被检测的风险(反反爬)六、等待七、异常处理Selenium是自动化…

kafka使用入门案例与踩坑记录

每次用到kafka时都会出现各种奇怪的问题,综合实践,下面汇总下主要操作步骤: Docker镜像形式启动 zookeeper启动 docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeperkafka启动 docker run --name kafka01 -p 9092:909…

YOLOV5s+Shufflenetv2+VOC数据集+迁移学习

前言:更改YOLOV5的backbone网络为 Shufflenetv2,便于达到轻量化的目的 1. 试运行YOLOv5 b站推土机 2. VOC数据集处理 3. 更改轻量级网络 参考魔改yolov5 3.1 在common.py末尾加入以下代码 #添加轻量化模块Shufflenetv2 # ------------------------…

安装配置DHCP

本次实验采用CentOS71.检查在安装DHCP之前先使用rpm命令查看系统中已有的DHCP软件包rpm -qa | grep dhcp由此可知,系统中尚未安装DHCP软件包2.安装我们可以使用yum命令为系统安装DHCP软件包yum -y install dhcp安装完成后再次检查可以看到DHCP软件包3.配置dhcp配置文…

办公室人员离岗识别检测系统 yolov7

办公室人员离岗识别检测系统根据yolov7网络模型深度学习技术,办公室人员离岗识别检测算法能够7*24小时全天候自动识别人员是否在岗位。YOLOv7 在 5 FPS 到 160 FPS 范围内,速度和精度都超过了所有已知的目标检测器,并在V100 上,30…

刷题28-有效的变位词

32-有效的变位词 解题思路: 注意变位词的条件,当两个字符串完全相等或者长度不等时,就不是变位词。 把字符串中的字符映射成整型数组,统计每个字符出现的次数 注意数组怎么初始化: int [] s1new int[26]代码如下&a…

Docker buildx 的跨平台编译

docker buildx 默认的 docker build 命令无法完成跨平台构建任务,我们需要为 docker 命令行安装 buildx 插件扩展其功能。buildx 能够使用由 Moby BuildKit 提供的构建镜像额外特性,它能够创建多个 builder 实例,在多个节点并行地执行构建任…

社畜大学生的Python之pandas学习笔记,保姆入门级教学

接上期,上篇介绍了 NumPy,本篇介绍 pandas。 目录 pandas 入门pandas 的数据结构介绍基本功能汇总和计算描述统计处理缺失数据层次化索引 pandas 入门 Pandas 是基于 Numpy 构建的,让以 NumPy 为中心的应用变的更加简单。 Pandas是基于Numpy…

NLP中的对话机器人——预训练基准模型

引言 本文是七月在线《NLP中的对话机器人》的视频笔记,主要介绍FAQ问答型聊天机器人的实现。 场景二 上篇文章中我们解决了给定一个问题和一些回答,从中找到最佳回答的任务。 在场景二中,我们来实现: 给定新问题,从…

基础夯实,字节内部总结240道算法LeetCode刷题笔记,直呼太全

1、什么是算法算法(algorithm,[ˈlɡərɪəm],计算程序):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结…

java spring AOP 完全注解开发

我们先创建一个项目 然后引入java spring aop的依赖 然后 在src下创建目录 我这里 直接就叫 Aop了 下面创建一个User类 参考代码如下 package Aop;import org.springframework.stereotype.Component;Component public class User {public void add(){System.out.println(&qu…