Bootstrap

56_多级缓存实现

1.查询Tomcat

拿到商品id后,本应去缓存中查询商品信息,不过目前我们还未建立Nginx、Redis缓存。因此,这里我们先根据商品id去Tomcat查询商品信息。此时商品查询功能的架构如下图所示。

需要注意的是,我们的OpenResty是在虚拟机,Tomcat是在macOS系统(或Windows系统)上,两者IP一定不要搞错了。这里有一个方法是:把macOS系统(或Windows系统)的IP和虚拟机IP的前三位保持一致,最后一位改为1即可(如192.168.230.1)。

1.1 发送HTTP请求的API

ngx.location.capture(url, {...})是OpenResty/Nginx的Lua模块ngx_http_lua_module提供的一个函数,用于在Nginx内部发起子请求。我们可以通过这个函数向内部location发起GET或POST请求。要使用ngx.location.capture(url, {...})发起GET或POST请求并传递参数,我们可以通过设置

;