openresty / srcache-nginx-module

Transparent subrequest-based caching layout for arbitrary nginx locations.
http://wiki.nginx.org/NginxHttpSRCacheModule
476 stars 105 forks source link

srcache 模块执行顺序 #16

Closed LazyZhu closed 12 years ago

LazyZhu commented 12 years ago

你好,我想问一个问题: srcache_fetch srcache_store proxy_pass(memc_passredis_pass) 在srcache_fetch 命中与不命中情况下的执行顺序。因为我翻看了你的README,还是有疑惑。

LazyZhu commented 12 years ago

更新:我其实就是想知道如何使srcache_fetch在命中时也通过proxy_pass后端使srcache_store存贮最新内容。

agentzh commented 12 years ago

Hello!

On Fri, Oct 19, 2012 at 8:48 PM, LazyZhu notifications@github.com wrote:

srcache_fetch srcache_store proxy_pass(memc_pass、redis_pass) 在srcache_fetch 命中与不命中情况下的执行顺序。因为我翻看了你的README,还是有疑惑。

srcache_fetch 缓存命中时,自然不会再执行 content 阶段的配置指令(比如 proxy_pass),也不会再执行 srcache_store.

srcache_fetch 缓存不命中时,自然会继续执行 content 阶段的配置指令(比如 proxy_pass),同时会执行 srcache_store.

Best regards, -agentzh

agentzh commented 12 years ago

Hello!

On Fri, Oct 19, 2012 at 9:03 PM, LazyZhu notifications@github.com wrote:

更新:我其实就是想知道如何使srcache_fetch在命中时也通过proxy_pass使srcache_store获得后端最新内容。

ngx_srcache 模块不能做到这一点,我也不打算给它添加这种支持。

但是你总是可以通过 ngx_lua 模块轻易地通过植入你自己的 Lua 代码实现任意的缓存逻辑:

http://wiki.nginx.org/HttpLuaModule

同时保持很高的性能。

Best regards, -agentzh

LazyZhu commented 12 years ago

感谢回复!

nginx 官方一般都不标注命令注册执行的阶段,而我又看不懂代码,所以很多时候是通过自己测试得出来的。

我会试着HttpLuaModulelua-resty-redis的实例编写一段redis缓存逻辑,有问题的话还回来麻烦你。