OpenResty最佳实践
序
Lua简介
Lua环境搭建
基础数据类型
表达式
控制结构
if/else
while
repeat
控制结构for的使用
break,return
Lua函数
函数的定义
函数的参数
函数的返回值
函数回调
模块
String库
Table库
日期时间函数
数学库函数
文件操作
元表
面向对象编程
FFI
LuaRestyRedisLibrary
select+set_keepalive组合操作引起的数据读写错误
redis接口的二次封装(简化建连、拆连等细节)
redis接口的二次封装(发布订阅)
pipeline压缩请求数量
script压缩复杂请求
LuaCjsonLibrary
json解析的异常捕获
稀疏数组
空table编码为array还是object
跨平台的库选择
PostgresNginxModule
调用方式简介
不支持事务
超时
健康监测
SQL注入
LuaNginxModule
执行阶段概念
正确的记录日志
热装载代码
阻塞操作
缓存
sleep
定时任务
禁止某些终端访问
请求返回后继续执行
调试
调用其他C函数动态库
我的lua代码需要调优么
变量的共享范围
动态限速
shared.dict 非队列性质
如何添加自己的lua api
正确使用长链接
如何引用第三方resty库
使用动态DNS来完成HTTP请求
缓存失效风暴
Lua
下标从1开始
局部变量
判断数组大小
非空判断
正则表达式
不用标准库
虚变量
函数在调用代码前定义
抵制使用module()函数来定义Lua模块
点号与冒号操作符的区别
测试
单元测试
API测试
性能测试
持续集成
灰度发布
web服务
API的设计
数据合法性检测
协议无痛升级
代码规范
连接池
c10k编程
TIME_WAIT问题
与Docker使用的网络瓶颈
火焰图
什么时候使用
显示的是什么
如何安装火焰图生成工具
如何定位问题
本书使用 GeChiUI.com 发布
持续集成
持续集成
最后更新于:2022-04-01 02:18:13
# 持续集成 我们做的还不够好,先占个坑。 欢迎贡献章节。
';