Nginx 数据结构
ngx_str_t
不以\0结束字符,而是用长度标记,可以重复引用一段字符串内存。
操作函数簇
格式化%V
ngx_pool_t
帮助管理资源(内存,文件等),对资源的使用和释放统一进行。
ngx_array_t
nginx的数组结构在存储上跟C内置的数组有相似性,比如都是一大块连续的内存。但是nginx数组还包含了一些元信息来描述相关的一些信息。自动扩容
ngx_hash_t
对于冲突解决用的是开链法。只能初始化,然后就不能插入也不能删除元素。另外这里的开链并不是真的开新链,而是提前预算,多释放内存
ngx_hash_wildcard_t
对于通配符的hash表函数操作簇
ngx_hash_combined_t
ngx_hash_keys_arrays_t
ngx_chain_t
ngx_buf_t
该结构存储了ngx_chain_t链表的每个节点的实际数据。该数据实际上是一种抽象的数据结构,它代表了某种具体的数据。可能是内存中的某个缓冲区,也可能是指向一个文件的某一部分,也可能是一些纯元数据(元数据的作用在于指示这个链表的读取者对读取的数据进行不同的处理)。
ngx_list_t
每个元素是一个数组