Summary 序 Lua入门 Lua简介 Lua环境搭建 基础数据类型 表达式 控制结构 if/else while repeat for break,return Lua函数 函数的定义 函数的参数 函数的返回值 函数回调 模块 String库 Table库 日期时间函数 数学库函数 文件操作 Lua高阶 元表 面向对象编程 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库 body在location中的传递 LuaRestyDNSLibrary 使用动态DNS来完成HTTP请求 LuaRestyLock 缓存失效风暴 Lua 下标从1开始 局部变量 判断数组大小 非空判断 正则表达式 不用标准库 虚变量 函数在调用代码前定义 抵制使用module()函数来定义Lua模块 点号与冒号操作符的区别 控制结构for的使用 测试 单元测试 API测试 性能测试 持续集成 灰度发布 web服务 API的设计 数据合法性检测 协议无痛升级 代码规范 连接池 c10k编程 TIME_WAIT问题 与Docker使用的网络瓶颈 火焰图 什么时候使用 显示的是什么 如何安装火焰图生成工具 如何定位问题