使用 Nginx 的 Memcached 模块读取 Memcached 缓存性能和效率如何?

2015-11-01 20:47:58 +08:00
 yytsjq

这几天了解到下面一篇文章:

使用 memc-nginx 和 srcache-nginx 模块构建高效透明的缓存机制

里面讲到:

传统上, PHP 中使用 memcache 的方法是使用 php-memcache 或 php-memached 扩展操作 memcache ,然而在 Nginx 上有构建更高效缓存机制的方法。

就是是 Nginx 直接访问 memcache ,并用 uri 和 args 等 Nginx 内置变量设定缓存 key 规则,这样,当缓存命中时, Nginx 可以跳过通过 fastcgi 和 PHP 通信的过程,直接从 memcache 中获取数据并返回。 memc-nginx 和 srcache-nginx 正是利用这种策略提高了缓存的效率。

当缓存命中时, Nginx 可以跳过通过 fastcgi 和 PHP 通信的过程,直接从 memcache 中获取数据并返回。

WordPress 正好个插件 WP-FFPC,支持 使用 Nginx 内置的 ngx_http_memcached_module 模块连接读取 Memcached 服务器中的缓存内容,如果没有缓存, WP-FFPC 再生成页面缓存存到 Memcached 中,下次访问就可以让 Nginx 直接从 Memcached 中读取。

我搜索了下 V2EX ,发现这个方面讨论的不是很多。

在这个帖子 Nginx & Memcached 中:

@Fenng 说:实验性仍然比较强.
@Livid 说:“最近打算在一个流量挺大的地方试试这个模块。”

在这个帖子 nginx 反向代理后 proxy_cache 和 memcache 有什么用 中:

@notedit 说: nginx 连接 memcache 是短连接 请求多了之后会把 memcache 连暴

而且是走网络的 速度并不是那么的快

不过我发现这两个帖子都是 2010 、 2012 年发布的,不知道发展到现在, Nginx 的 Memcached 模块作为网站缓存解决方案如何了,缓存性能和效率方面靠不靠谱呢。。

WP-FFPC 插件下载:
https://wordpress.org/plugins/wp-ffpc/

2838 次点击
所在节点    问与答
1 条回复
willis
2015-11-01 23:03:48 +08:00
没用过这个, nginx 静态文件可以使用 proxy_cache ,动态 php 可以使用 fastcgi_cache ,缓存内容是存在共享内存中的,这两个模块 nginx 原生支持,简单稳定。对于大多数缓存场景,不会用 nginx 直接调用 memcache 服务的,正如楼主所说增加系统复杂性,效果和稳定性又很难得到保障。个人感觉应用场景可能是: 动态缓存内容比较大的时候,如超过了服务器内存,这时前端 nginx 服务器调用 memcache 集群缓存才有意义,如果是 wp 基本上到不了这个规模,实际上可能也只有淘宝这样少数的真正的高并发网站才有这样的需求,我是乱说的,不对请当笑话看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/232747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX