摘要:0. 命令 jq [option] filter [files] jq+可选参数+过滤条件+文件位置 过滤参数: . :格式化json内容 .foo :输出指定属性,使用.嵌套访问字段 .[下标] :输出指定数组元素 .[] :输出指定数组中全部元素 , :多个属性过滤时,使用逗号分隔 | :管道过
阅读全文
摘要:1. 限流算法 ngx_http_limit_req_module 使用桶算法, 定义一个桶,桶的出口流速固定,入口流速大于出口时,请求被缓存在桶中, 定义桶的容积,当请求超过容积,则丢弃请求。 limit_req_zone : 定义一个桶,且定义桶的出口流速 limit_req : 定义使用桶,和
阅读全文
摘要:1. configure 添加模块 1.1 添加一个 http 模块 在./src/test下创建config 内容如下 # 定义模块名称 1 ngx_addon_name=ngx_http_test_module # 向http类添加 新模块 2 HTTP_MODULES="$HTTP_MODUL
阅读全文
摘要:1. location 指令 配置解析 1.1 指令格式 location配置支持如下格式, location 的参数是 uri, 可以是模糊的,也可以是绝对的 1.2 配置解析——生成loc树 2949 static char * 2950 ngx_http_core_location(ngx_c
阅读全文
摘要:0. 简介 共享内存是ngx实现 进程间 全局对象 的方法, 比如 一个抗cc模块,需要记录 cc数据,但 进程间内存隔离,导致 工作进程 只能记录访问自己的 cc数据, 所以需要申请一个共享内存,在共享内存上构造cc数据,多个工作进程互斥操作 该对象。 1 ngx_shm_zone_t 25 ty
阅读全文
摘要:1. 构造 构造函数的调用 T t(1,2); // 调用 T(int ,int) T t2 = (1,2); // 调用 T(int) T t3 = 1; // 调用 T(int) T t3 = T(1); // 调用 T(int) 构造匿名对象,并将 匿名对象 和符号 t3绑定 T t4 = t
阅读全文
摘要:1. 引用 1.1 本质 引用的本质是指针 int &a = b; a = 10; // 编译器会处理为 int const *a = &b; *a = 10; 由于引用,所以可以链式编程,即返回引用。 1.2 引用和指针 引用用于替换一重指针 没有引用的引用,没有指向引用的指针, 有对指针进行引用
阅读全文
摘要:1. 普通的字符串匹配 有两个字符串如下 0 1 2 3 4 5 6 7 8 9 字符串t d a b a c a b a b a c 字符串p a b a b 通常可以这样写 char * func(char *t, char *p) { for (i = 0; i < strlen(t); i+
阅读全文