【Nginx】Nginx容器

Muten發表於2020-11-10

1.Nginx中的容器

1.陣列
2.連結串列
3.佇列
4.雜湊表
5.紅黑樹
6.基數樹

2.陣列

多塊連續記憶體,每塊連續記憶體中可以存放許多元素.

3.連結串列

ngx_list_t

4.佇列

ngx_queue_t

5.雜湊表

(1)ngx中的hash表與平常我們知道的雜湊表的不同:
ngx_hash通常用於靜態不變的內容,在執行的過程中,ngx_hash一般不會出現插入或者刪除;
   一般nginx剛啟動的時候就能確定這個容器裡共有多少個元素,所以一般使用ngx_hash的模組
   一般會暴露出bucket_size和max_size兩個引數,
   max_size僅僅控制了最大的bucket_size的個數,而不是實際上bucket_size的個數,
   比如說max_size可能配置了100,但實際上只有10個元素使用了hash表,這個max_size
   的意義是限制最大化的使用(限制記憶體的佔用量).

(2)

6.紅黑樹

7.基數樹

是自平衡排序二叉樹的一種,只不過key只能是整型,geo模組在使用基數樹,其他模組使用的並不多.

 

 

 

 

 

相關文章