Nginx之Memcached上游服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx之Memcached上游服务器相关的知识,希望对你有一定的参考价值。
MemcachedMemcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
nginx中Memcached模块
在Nginx中, Memcached模块默认是开启的,它负责与memcached守护进程通信。因此,客户端和memcached守护进程之间没有直接通信,也就是说,在这种情况下,Nginx不再是充当反向代理。memcached模块使得Nginx可以使用memcached协议会话,因此,key的查询能够在请求传递到上游应用服务器之前完成。
upstream memcaches { # 定义memcached上游服务器池
server 10.20.21.10:11211;
server 10.20.21.11:11211;
server 10.20.21.12:11211;
}
server {
location / {
set $memcached_key "$uri?$args"; # 进行查找
memcached_pass memcaches;
error_page [email protected]; #没有查找到,则转发给@server处理,并保存处理后的值
}
location @server {
proxy_pass http://127.0.0.1:80;
}
}
解释如下:
通过memcached_pass指令使用$memcached_key变量实现key值的查找,如果memcached中没有查找到,则执行404处定义的@server来处理,这样子将请求转发到127.0.0.1:80来处理该请求,并且还会在memcached实例中插入该键/值对。
以上是关于Nginx之Memcached上游服务器的主要内容,如果未能解决你的问题,请参考以下文章