点赞
评论
收藏
分享
举报
Nginx使用教程(八):使用Nginx缓存之Memcached缓存
发表于2021-02-08 10:21

浏览 3.8k

使用Memcache

<br\>
Memcache是一个通用的内存缓存系统。 它通常用于加速缓慢的数据访问。 NGINXmemcached模块提供各种指令,可以配置为直接访问Memcache提供内容,从而避免对上游服务器的请求。
除了指令之外,模块还创建memcachedkey使Memcachememcached_key变量中设置一个值,该变量根据请求URL确定。

memcached_pass

<br\>
此指令用于指定memcached服务器的位置。 地址可以通过以下任意方式指定:
•域名或IP地址,以及可选端口
•使用带unix:前缀的的Unix域套接字
•使用NGINX upstream指令创建的一组服务器
该指令仅在NGINX配置的location和location if中使用。 如下例子:

  1. location /myloc/{
  2.    set memachedkeyuri;
  3.    memcached_pass localhost:11211;
  4.    }

memcached_connect_timeout / memcached_ send_timeout / memcached_read_timeout

<br\>
memcached connect_timeout指令设置在NGINX和memcached服务器之间建立连接的超时。
memcached_send_timeout指令设置将请求写入memcached服务器的超时。 memcached_read_timeout指令设置从memcached服务器读取响应的超时。
所有指令的默认值为60秒,可在NGINX配置的http,server和location区块下使用。 如下例子:

  1. http{
  2.    memcached_send_timeout 30s;
  3.    memcached_connect_timeout 30s;
  4.    memcached_read_timeout 30s;
  5.    }

memcached_bind

<br\>
此指令指定服务器的哪个IP与memcached连接,默认为关闭,即不指定,那么Nginx会自动选择服务器的一个IP用来连接。

完整示例

<br\>

  1. server{
  2.    location /python/css/ {
  3.    alias "/code/location/css/";
  4.    }
  5.    location /python/ {
  6.    set memcachedkey"request_method$request_uri";
  7.    charset utf-8;
  8.    memcached_pass 127.0.0.1:11211;
  9.    error_page 404 502 504 = @pythonfallback;
  10.    default_type text/html;
  11.    }
  12.    location @pythonfallback {
  13.    rewrite ^/python/(.*) /$1 break;
  14.    proxy_pass http://127.0.0.1:5000;
  15.    proxy_set_header X-Cache-Key "requestmethodrequest_uri";
  16.    }
  17.    # Rest NGINX configuration omitted for brevity
  18. }


已修改于2023-03-07 02:27
创作不易,留下一份鼓励
守望

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
守望
这家伙很懒还未留下介绍~
89
文章
0
问答
18
粉丝
相关文章
继续软件架构系列之行业应用篇,相信很多人用NGINX,也很多人用NGINX架构不同的能力,接下来,通过一张行业应用图,分析一下NGINX分层的含义及架构分层的必要性,上图先:   这张图咋一看会发现,好多NGINX呀,没错!这是某行业顶级的业务系统架构图,也是业内市场占有率第一的原版授权,从最外围的用户交互(好比我们使用手机app应用界面)-第1层,到数据中心内网的接入(好比app背后的数据中心或云上部署)-第2层,再到应用负载的第3层(好比应用部署前面的SLB或接口机),进而到前端应用的能力封装和开放-第4层,再到能力中心调度池-第5层,最后到数据存储的第6层。每一层的角色扮演都很明确和清晰,以第2层的NGINX来说,核心功能就是扮演大颗粒度的流量调度和高可靠,因此和传统的LB功能非常接近;以第3层的NGINX来说,核心功能就是扮演业务细颗粒度的流量精分和能力画像,因此和高性能的七层LB高级功能非常接近。因此,每层之间通过分层和解耦的方式,让能力封装更加专注,让精分模型更加贴近应用,某种层面上也把NGINX不同纬度的强项拆解到不同的应用场景中进行发
点赞 2
浏览 5.7k
原文作者:Elle Poole Sidell of F5 原文链接:选择合适的 API 网关模式,实现有效的 API 交付 转载来源:NGINX 官方网站 NGINX 唯一中文官方社区 ,尽在 ng
点赞 1
浏览 6.1k
本次分享中,我们将讨论有关 NGINX 现代应用参考架构的内容。 分享之前,先抛出一个问题,在现代应用架构中,我们通常会用到哪些的组件?可以是在外面学习来的知识,也可以是在企业里面的实践。比如 包含各种各样分支的 K8S,可能是 Rancher、 Kubesphere 、K3S 等组件。
点赞 1
浏览 3.4k