hello, 各位好:
预期达到的效果很简单,后台有一个接口缓存的机制,会定时将接口数据放到缓存里,
前端在请求的时候,先去看下缓存里面有没有这个接口,如果有,就将缓存里的结果返回,如果没有,就通过转到真实的接口里进行处理
设置了如下的location
location / {
default_type application/json;
content_by_lua '
local shared_data = ngx.shared.scenic_cache
local request_uri = ngx.var.request_uri;
local maybe_cache_uri = ngx.unescape_uri(request_uri);
local rst = shared_data:get(maybe_cache_uri);
if rst then
ngx.say(rst);
end
';
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.111.11:8012;
}
结果是,所有的接口都被proxy_pass处理了。
content_by_lua里面即使有返回也会走后面的语句么? 如果可以达到我的预期呢