gpt4 book ai didi

c - NGINX 中的模块链接

转载 作者:行者123 更新时间:2023-11-30 17:22:24 24 4
gpt4 key购买 nike

我正在用 C 语言编写一个 NGINX 模块,需要访问 Redis。

为了使这些调用非阻塞,我想对其进行异步访问(使用 Redis 的官方 C API 或使用 redis2-nginx-module )。

我已阅读 Emiller's Guide在我看来,我需要构建一个模块“链”。像这样的东西:

我的模块解析HTTP请求,向另一个与Redis异步工作的模块发出相应的请求,作为“上游”(?)

在 Redis 响应中,控制权返回到我的模块,并最终确定 HTTP 响应,将数据发送回服务器。

我不明白的是如何实现这些链?我几乎找不到好的例子,所有内置 NGINX 模块似乎都将控制重定向到自身(u = r->upstream;)?有什么方法可以将其他模块指定为上游吗?

感谢您提供良好的链接代码示例的帮助。

最佳答案

最后我决定使用 LUA 接口(interface)( http://wiki.nginx.org/HttpLuaModule + https://github.com/openresty/lua-resty-redis )部分实现逻辑。

它基本上使用 nginx 子请求以非阻塞方式工作,但提供了更简单的方法来编写模块。我使用 C 模块实现了部分逻辑(基于处理程序)。

关于c - NGINX 中的模块链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28027465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com