JAVA全系列 教程
3762个小节阅读:7092k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
OpenResty 的文档非常详细,作者把每一个需要注意的点都写在了文档中。为了方便起见,OpenResty还自带了一个命令行工具restydoc,专门用来帮助开发者通过shell查看文档,避免编码过程被打断。如下:
restydoc -s ngx.say
restydoc -s proxy_pass
OpenResty t目录,包含所有的测试案例。每一个测试案例都包含完整的NGIN配置和Lua代码,以及测试的输入数据和预期的输出数据。
OpenResty在诞生之初就支持了协程,并基于此实现了同步非阻塞的编程模式。 什么是同步非阻塞。先说同步,这个很简单,就是按照代码来顺序执行。比如下面这段伪码:
xxxxxxxxxx
local res, err = query-mysql(sql)
local value, err = query-redis(key)
在 OpenResty 中,上面的伪码就可以直接实现同步非阻塞,而不用任何显式的关键字。这里也再次体现
了,让开发者用起来更简单,是 OpenResty 的理念之一。
举个栗子
1、你在家做饭,用普通的汤锅,米放进去,就站在锅边,傻等饭熟。——这叫同步阻塞
2、还是用普通的汤锅,米放进去,然后继续回去打游戏,过一会就来看一次。——这叫同步非阻塞
动态是Lua天生的优势。通过OpenResty 中lua-nginx-module模块中提供的Lua APl,可以动态地控制路由、上游、SSL证书、请求、响应等。甚至更进一步,可以在不重启OpenResty 的前提下,修改业务的处理逻辑,并不局限于OpenResty提供的Lua API。