青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,Linux內核
隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
數據加載中……

lighttpd1.4.18中的stat_cache

這個cache主要是針對stat()函數調用結果的一個cache,這么做有兩個考慮,一個當然是緩存stat()函數調用的結果,比如需要向客戶端發送一個文件的內容時,需要知道這個文件的尺寸,一般都是通過stat()調用得來;如果僅僅是這樣,那似乎這個cache是沒有太大必要的,所以還有第二層的考量,http協議中有一個所謂的etag的概念,比如你接收了一個文件,http協議中帶了一個字段last-modified存放這個文件請求的時間,同時有針對這個文件的etag值,下一次再次請求時,如果該文件沒有更新過,那么直接使用客戶端瀏覽器中緩存的結果即可.有關這部分的內容可以參考這里. 這里,關于"文件是否被更改過",在lighttpd中,有三種判斷的標準,分別是typedef enum { ETAG_USE_INODE = 1, ETAG_USE_MTIME = 2, ETAG_USE_SIZE = 4 } etag_flags_t; 簡單的理解,就是從inode number值,mtime(修改時間),文件尺寸三種標準來判斷,而這些,都是可以從stat函數的返回值也就是stat 結構體中獲得的.

下面來具體看這個cache的實現,我也不貼代碼了,還是看偽代碼好了,關于這部分實現,可以看lighttpd中的stat_cache.c文件:
根據查找的文件名算出一個hash值,
根據這個hash值去sptree中搜索,這個結構體中cache住之前查詢的結果
假如可以在cache中找到記錄,還要將記錄的時間與服務器當前的時間做比較,如果一致才認為是找到了cache,返回結果.

程序繼續往下走,這個時候只有兩種可能,一種是沒有找到,另一種找到了但是時間不對應,因此很可能cache中的信息已經過期了.
此時,需要到文件所在的目錄去查找,對于緩存目錄結果的cache而言,如果找到了需要查看緩存數據的版本號,以這個來定義是否一致
假如找到了目錄信息,版本號也一致,并且之前也找到了文件的cache,那么認為cache中緩存的文件信息沒有過時,返回結果.

程序繼續往下走,此時可以確定cache中要么是沒有要找的信息,要么是信息過期.
這時需要真正調用stat()函數獲取文件相關的信息,并且插入到cache中,
同時,如果文件的目錄信息之前是沒有的,也需要將文件所在目錄的信息插入到cache中,同時保存cache數據的當前時間點.

最后,還需要針對etag做一些處理,根據之前說的etag類型將相關信息存放到cache中,這里只需要etag值不會重復就可以.


提到cache目錄信息這一點,lighttpd采用了FAM的API,使用這個API,可以把需要監控是否發生變化的目錄加入到一個集合中,這個集合可以對應一個fd,這樣,就可以select/epoll等多路復用I/O處理器在文件目錄情況發生變化的時候去異步通知服務器更新cache中關于該目錄的情況了.

關于FAM API,可以參考這里:
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_Developer/books/IIDsktp_IG/sgi_html/ch08.html




posted on 2009-12-16 19:46 那誰 閱讀(5869) 評論(4)  編輯 收藏 引用 所屬分類: 服務器設計lighttpd

評論

# re: lighttpd1.4.18中的stat_cache  回復  更多評論   

I do guess that it is assertable to go to this site, just because simply here students would see the imazing release about this good topic. Thus, the <a href="http://www.master-dissertations.com">thesis writing service</a> should utilize that for thesis titles composing.
2010-07-09 08:33 | CaroleSTOKES30

# re: lighttpd1.4.18中的stat_cache  回復  更多評論   

You do a great job. I have already put in a good word your material to friends because I find it very beneficial especially when you need some chapter on your essays or term papers. Thanks again.
2010-07-09 22:14 | custom essay

# re: lighttpd1.4.18中的stat_cache  回復  更多評論   

That is possible to receive the data related to custom writing or about this topic in modern world. But before some students buy the written essay, they have to search for the distinguished essay writing service.
2010-10-07 13:15 | buy term paper

# re: lighttpd1.4.18中的stat_cache  回復  更多評論   

I could just only imagine about such good talent in dissertation form referring to this good topic creating. We normally take the assistance of the reliable dissertation writing service. In my situation this fits me the best.
2010-10-09 06:55 | dissertation writing

# re: lighttpd1.4.18中的stat_cache  回復  更多評論   

Friquently, some guys, which require the term paper online, don’t actually know the best way to get that. But it can be possible to buy an essay online from the great persuasive essay writing service. It’s a standard option for most people.
2010-10-09 07:00 | pay for writing essay
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            香蕉成人久久| 一区二区三区四区国产| 久久精品国产99国产精品| 欧美亚洲一区在线| 亚洲国产成人午夜在线一区| 亚洲欧洲日本一区二区三区| 国产精品久久看| 另类国产ts人妖高潮视频| 欧美高清视频| 免费不卡在线观看| 国产精品家教| 亚洲精品一级| 亚洲国产毛片完整版 | 久久都是精品| 日韩一级大片| 免费日韩成人| 久久在线免费视频| 国产视频在线观看一区二区三区| 欧美日韩精品久久久| 免费日韩成人| 亚洲国产欧美日韩| 久久亚洲私人国产精品va| 香蕉久久一区二区不卡无毒影院| 嫩模写真一区二区三区三州| 美乳少妇欧美精品| 亚洲国产精品小视频| 免费在线国产精品| 亚洲国产精品成人综合色在线婷婷| 国产亚洲欧美一级| 久久久久久黄| 亚洲欧洲中文日韩久久av乱码| 久久久噜噜噜久噜久久 | 亚洲日本理论电影| 亚洲精品在线三区| 欧美午夜无遮挡| 小辣椒精品导航| 亚洲第一精品在线| 亚洲视频日本| 国产亚洲一区二区在线观看 | 一区二区动漫| 国产偷自视频区视频一区二区| 久久精品卡一| 99精品福利视频| 免费看亚洲片| 午夜精品一区二区三区在线| 国产综合网站| 欧美日精品一区视频| 久久一区二区三区国产精品| 在线一区二区日韩| 欧美福利一区二区三区| 久久精品最新地址| 先锋影音国产一区| 最新成人av网站| 亚洲高清自拍| 1024日韩| 亚洲精品日韩一| 欧美韩国日本一区| 久久影视三级福利片| 久久久噜久噜久久综合| 亚洲欧美综合一区| 久久av一区二区三区漫画| 亚洲一区三区视频在线观看| 99成人精品| 亚洲欧美国产高清va在线播| 日韩一区二区久久| 这里只有视频精品| 亚洲一区二区欧美日韩| 亚洲一区网站| 久久久久久噜噜噜久久久精品| 国产精品欧美风情| 国产精品夜夜嗨| 黄色成人av网| 9l国产精品久久久久麻豆| 亚洲无玛一区| 久久性色av| 中文在线一区| 老鸭窝91久久精品色噜噜导演| 巨胸喷奶水www久久久免费动漫| 久久久久久久97| 欧美日韩国产va另类| 国产精品九九| 亚洲日本成人网| 欧美亚洲综合久久| 亚洲国产另类 国产精品国产免费| 9l国产精品久久久久麻豆| 亚洲欧美国产77777| 欧美成人精品h版在线观看| 国产精品一区二区久久| 亚洲人成7777| 麻豆国产精品va在线观看不卡| 亚洲日本中文字幕免费在线不卡| 亚洲免费中文| 国产精品成人在线观看| 亚洲精品美女| 亚洲激情视频在线播放| 久久漫画官网| 在线日韩av片| 亚洲激情中文1区| 欧美精品在线一区二区| 亚洲精品国产精品国自产观看| 蜜臀99久久精品久久久久久软件| 午夜激情久久久| 国产一区二区三区四区| 欧美在线视频播放| 欧美影院一区| 亚洲福利视频专区| 亚洲国产精品成人| 欧美日韩精品二区| 欧美一区二区三区视频| 亚洲欧美综合v| 国产综合在线视频| 亚洲电影观看| 欧美日韩精品免费在线观看视频| 久久精品一区蜜桃臀影院| 亚洲第一精品福利| 中文在线不卡| 加勒比av一区二区| 最新成人在线| 狠狠色噜噜狠狠狠狠色吗综合| 欧美freesex8一10精品| 国产精品久久久久久久久果冻传媒 | 亚洲人体影院| 国产欧美精品xxxx另类| 欧美成人国产| 国产色综合天天综合网| 亚洲国产日韩一级| 国产日韩av在线播放| 亚洲国产毛片完整版| 国产亚洲欧美激情| 亚洲天堂av图片| 正在播放欧美视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美一区二区性| 国产精品视频专区| 99精品国产在热久久婷婷| 亚洲乱码一区二区| 欧美电影免费观看高清完整版| 久久一区二区三区超碰国产精品| 国产精品久久久久9999吃药| 日韩一区二区高清| 亚洲综合二区| 国产欧美日韩综合一区在线播放 | 美女福利精品视频| 亚洲国产婷婷综合在线精品 | 夜夜躁日日躁狠狠久久88av| 亚洲理论在线| 欧美日韩第一页| 亚洲一二三区在线观看| 久久se精品一区二区| 国产亚洲aⅴaaaaaa毛片| 欧美一区二区三区喷汁尤物| 久久在线精品| 亚洲视频免费看| 欧美成人蜜桃| 国产精品99久久久久久有的能看| 欧美日本韩国一区二区三区| 一区二区三区蜜桃网| 久久精品国产一区二区三| 亚洲国产日韩欧美在线图片| 欧美日本簧片| 久久精品视频在线播放| 欧美电影在线观看完整版| 亚洲男人影院| 亚洲国产婷婷| 国内成+人亚洲| 国产精品麻豆欧美日韩ww | 午夜精品视频在线观看| 欧美成人dvd在线视频| 亚洲欧美日韩一区二区在线| 亚洲福利小视频| 国产麻豆视频精品| 国产精品久久国产精品99gif| 看片网站欧美日韩| 欧美专区在线播放| 亚洲欧美日韩系列| 在线视频精品| 亚洲欧美美女| 亚洲一区二区三| 亚洲专区在线视频| 香蕉久久夜色| 久久久久国产精品www| 香港久久久电影| 久久精品一区二区三区四区 | 国产在线精品二区| 国产亚洲欧美一区二区| 国产亚洲精品美女| 在线不卡a资源高清| 亚洲青涩在线| 亚洲一区在线看| 久久国产欧美日韩精品| 久久青草欧美一区二区三区| 卡通动漫国产精品| 亚洲日本免费| 性感少妇一区| 欧美日韩成人| 狠狠色狠色综合曰曰| 亚洲视频播放| 久久在线免费观看视频| 91久久精品国产| 久久免费少妇高潮久久精品99|