Nginx之memcached_module模块解读

目录

基本介绍  

安装添加模块 

模块配置指令 


基本介绍  

nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、django,大大的提升动态页面的速度。nginx只负责从memcached服务器中读取数据,要往memcached写入数据还得需要后台的应用程序来完成,主动的将要缓存的页面缓存到memcached中,可以通过404重定向到后端去处理的。 

 nginx 只负责'从memcached'读取'指定'的'缓存数据'  --> nginx'只负责从memcached读'

后台'应用程序'通过'相关逻辑'将要'缓存的页面'推送到memcached,方便nginx'去调用' -->'后台程序负责写'

 

Nginx 的 ngx_http_memcached_module 模块本身并没有提供缓存功能,它只是一个将用户请求转发到 Memcached 服务器的代理模块。 

安装添加模块 

安装第三方模块:ngx_http_php_memcache_standard_balancer-master

  • 解压到path/ngx_module
  • 配置:./configure --prefix=/xxx/xxx-add_module=path/ngx_module
  • 编译安装:make && make install

模块配置指令 

server {location / {set            $memcached_key "$uri?$args";  # 设置Memcached缓存keymemcached_pass 127.0.0.1:11211;              # 设置被代理Memcached地址error_page     404 502 504 = @fallback;      # 返回状态码404、502、504时跳入内部请求}location @fallback {proxy_pass     http://backend;               # 将请求转发给后端服务器}
}
指令名称指令值格式默认值指令说明
memcached_bindaddress[transparent]
或 off
--设置从指定的本地 IP 地址及端口与 Memcached 服务器建立连接,指令值可以是变量。指令值参数为 transparent 时,允许将客户端的真实 IP 透传给被代理服务器,并以客户端真实 IP 为访问被代理服务器的源 IP,指令值为 off 时,则取消上一层指令域同名指令的配置
memcached_buffer_sizesize4k 或 8k设置用于读取 Memcached 服务器,读取响应数据缓冲区的大小,当 Nginx 收到响应数据后,将同步传递给客户端
memcached_connect_timeouttime60sNginx 与 Memcached 服务器建立连接的超时时间,通常不应超过 75s
memcached_force_rangeson 或 offoff启用来自 Memcached 服务器的缓存和未缓存响应的 byte-range 请求支持,而不考虑这些响应头中的 Accept-Ranges 字段
memcached_gzip_flagflag--启用对 Memcached 服务器缓存数据 fags 的测试,flags 为客户端写入缓存时的自定义标记,此处用以判断缓存数据是否被压缩存储,如果数据被压缩存储,则将响应头字段 Content-Encoding 设置为 gzip
memcached_next_upstreamerror、timeout、
invalid_header、
not found 或 off...
error timeout当出现指令值中指定的条件时,将未返回响应的客户请求传递给 upstream 中的下一个服务器
memcached_next_upstream_timeouttime0设置将符合条件的客户端请求传递给 upstream 中下一个服务器的超时时间。0 为不做超时限制,遍历完所有上游服务器组中的服务器为止
memcached_next_upstream_triesnumber0设置符合条件的客户端请求传递给upstream中下一个服务器的尝试次数,包括第一次失败的次数。0为不做尝试次数限制,遍历完所有上游服务器组中的服务器为止
memcached_passaddress--设置 Memcached 服务器的地址及端口,地址可以是 IP、域名或 UNIX 套接字
memcached_read_timeouttime60s在连续两个从 Memcached 服务器接收数据的读操作之间的间隔时间超过设置的时间时,将关闭连接
memcached_send_timeouttime60s在连续两个发送到 Memcached 服务器的写操作之间的间隔时间超过设置的时间时,将关闭连接
memcached_socket_keepaliveon 或 offoff设置 Nginx 与 Memcached 服务器的 TCP keepalive 行为的心跳检测机制,默认使用操作系统的 socket 配置,若指令值为 on,则开启 SO_KEEPALIVE 选项进行心跳检测

 $memcached_key

定义从 memcached 服务器获取响应的键。

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

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

相关文章

学习路之PHP--lumen安装配置

一、下载lumen源码 composer create-project --prefer-dist laravel/lumen blog 安装lumen-generator composer require flipbox/lumen-generator 二、配置 bootstrap\app.php 97行 $app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);三、生成…

【IDEA】IDEA 单行注释开头添加空格

操作 打开 IDEA 的 Settings 对话框(快捷键为CtrlAltS);在左侧面板中选择Editor -> Code Style -> Java;在右侧面板中选择Code Generation选项卡;将Line comment at first column选项设置为false使注释加在行开…

ICCV 2023|Occ2Net,一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法...

本文为大家介绍一篇入选ICCV 2023的论文,《Occ2Net: Robust Image Matching Based on 3D Occupancy Estimation for Occluded Regions》, 一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法。 论文链接:https://arxiv.org/abs/23…

学生宿舍管理系统(前端java+后端Vue)实现-含前端与后端程序

界面介绍 登录 ###宿舍管理 ###菜单管理 ###角色管理 ###班级管理

TensorFlow入门(五、指定GPU运算)

一般情况下,下载的TensorFlow版本如果是GPU版本,在运行过程中TensorFlow能自动检测。如果检测到GPU,TensorFlow会默认利用找到的第一个GPU来执行操作。如果机器上有超过一个可用的GPU,除第一个之外的其他GPU默认是不参与计算的。如果想让TensorFlow使用这些GPU执行操作,需要将运…

源码:TMS FlexCel Studio for .NET 7.19

TMS FlexCel Studio for .NET 是100% 托管代码 Excel 文件操作引擎以及 Excel 和 PDF 报告生成,适用于 .NET、Xamarin.iOS、Xamarin.Android、Xamarin.Mac、Windows Phone 和 Windows Store 功能概述 使用 FlexCel Studio for .NET 创建可动态快速读写 Excel 文件的…

多线程(虚拟地址空间)

代码展示线程 既然我们提到了,线程隶属于进程,是进程的一个执行分支 真的是这样吗? 我们还需要用代码来验证 初步思路是创建三个线程,其中main函数里面的为主线程 不断循环,并且打印相应的pid 假如它们属于不同的进程…

Java 大厂八股文面试专题-JVM相关面试题 类加载器

Java 大厂八股文面试专题-设计模式 工厂方法模式、策略模式、责任链模式-CSDN博客 JVM相关面试题 1 JVM组成 1.1 JVM由那些部分组成,运行流程是什么? 难易程度:☆☆☆ 出现频率:☆☆☆☆ JVM是什么 Java Virtual Machine Java程序…

JDK、JRE 和 JVM 的区别和联系

三者关系 就这三者的关系而言,jvm是jre的子集,jre是jdk的子集,具体关系如下图: Java的执行流程 对于一个Java程序,其执行流程大致如下: 开发人员使用JDK编写和编译Java源代码,生成Java字节码文…

spring源码解析——IOC-开启 bean 的加载

概述 前面我们已经分析了spring对于xml配置文件的解析,将分析的信息组装成 BeanDefinition,并将其保存注册到相应的 BeanDefinitionRegistry 中。至此,Spring IOC 的初始化工作完成。接下来我们将对bean的加载进行探索。 BeanFactory 当我…

C语言 数据类型

变量声明 格式(变量类型变量名称) 变量类型:整数类型(int),浮点数类型(float) float类型可以存储带小数的数字。 用printf()打印变量,使用%d来处理整数值&#xff0c…

学习记忆——宫殿篇——记忆宫殿——记忆桩——风景

河边街道窗框空间房顶楼房水塔山顶塔桥舟桥楼观景台 车顶架碧水池(喷泉)塔腰楼顶房檐碑石狮箱车叉牌摩托灯

VUE指令语法解析标签属性

我们可以在标签体中使用插值语法 {{ }} 来直接读取data中的属性 那我们能使用相同的方法将我们的网址给填入a标签的href属性中吗&#xff1f; 我们运行后会发现并没有给我们变为<a href"https://blog.csdn.net/XunLin233">&#xff0c;而是<a href"{{…

机器学习与数据挖掘第三、四周

为什么第二周没有呢……因为刚换老师&#xff0c;自学要适应一段时间。 本课程作者之后的学习目标是&#xff1a;实操代码&#xff0c;至少要将作者参加数学建模中用到的数据处理方法都做一遍。 首先&#xff0c;作者复习一下李宏毅老师的两节课程。 机器学习概述 机器学习就…

【Linux】:Kafka组件介绍

目录 环境简介 一、消息 二、主题 三、分区 四、副本 五、生产者 六、消费者 七、消费者组 八、offsets【偏移量】 环境简介 Linux内核&#xff1a;Centos7 Kafka版本&#xff1a;3.5.1 执行命令的目录位置&#xff1a;Kafka安装目录的bin目录下&#xff1a;/usr/loca…

著名数字音频工作站FL Studio 21.0.3.3517中文破解安装图文激活教程

在一个技术继续塑造我们日常生活的世界里&#xff0c;创造力找到了表达自己的新渠道。FL Studio 21成为一个强大的工具&#xff0c;使个人能够创作自己的音乐杰作。一个人需要广泛的乐器知识或一个成熟的工作室来创作交响乐的日子已经一去不复返了。有了FL Studio 21&#xff0…

前端架构师进阶之路07_JavaScript函数

1 函数的定义与调用 1.1 初识函数 函数是用于封装一段完成特定功能的代码。 相当于将一条或多条语句组成的代码块包裹起来&#xff0c;在使用时只需关心参数和返回值&#xff0c;就能完成特定的功能&#xff0c;而不用了解具体的实现。 // 内置函数 console.log(parseFloat…

华为云云耀云服务器L实例评测|华为云云耀云服务器L实例CentOS的存储和备份策略

1 华为云云耀云服务器L实例介绍 华为云云耀云服务器L实例是华为云计算服务中的一种虚拟云服务器&#xff0c;它提供了强大的计算资源&#xff0c;可以在云端运行各种应用程序和服务。 华为云服务器提供了多种实例类型&#xff0c;包括通用型、计算优化型、内存优化型等&#…

【数据结构-图】最短路径

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

华为乾坤区县教育安全云服务解决方案(2)

本文承接&#xff1a; https://blog.csdn.net/qq_37633855/article/details/133276200?spm1001.2014.3001.5501 重点讲解华为乾坤区县教育安全云服务解决方案的部署流程。 华为乾坤区县教育安全云服务解决方案&#xff08;2&#xff09; 课程地址解决方案部署整体流程组网规划…