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

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,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 那誰 閱讀(5928) 評論(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>
            国产日本欧美一区二区| 亚洲欧美日韩精品久久亚洲区| 亚洲欧美日韩在线观看a三区| 国产日韩欧美91| 欧美精品日韩综合在线| 久久成人免费视频| 亚洲一区二区av电影| 亚洲精品国产欧美| 久久人人精品| 欧美诱惑福利视频| 亚洲尤物在线视频观看| 日韩亚洲综合在线| 亚洲国产精品成人| 国产一区二区三区免费在线观看| 欧美色精品天天在线观看视频| 久久香蕉国产线看观看av| 午夜精品久久久久久99热| 99精品视频免费观看| 欧美成人综合网站| 嫩草伊人久久精品少妇av杨幂| 久久国产66| 午夜国产精品视频| 亚洲欧美日韩精品| 亚洲一区二区少妇| 亚洲综合日韩| 亚洲资源av| 亚洲欧美色一区| 亚洲桃花岛网站| 一区二区三区四区在线| 亚洲精品日韩在线| 亚洲国产三级在线| 136国产福利精品导航| 影音先锋在线一区| 伊人天天综合| 亚洲高清不卡av| 亚洲精品国产精品乱码不99 | 久久嫩草精品久久久精品| 欧美中文字幕第一页| 欧美三级视频在线| 欧美日本一区二区高清播放视频| 蜜臀av在线播放一区二区三区| 国产精品久久午夜夜伦鲁鲁| 欧美日韩网址| 国产精品wwwwww| 国产精品久久久久影院亚瑟| 国产精品乱码一区二区三区| 国产精品私房写真福利视频| 国产欧美日韩亚洲一区二区三区| 国产亚洲一区在线| 在线不卡欧美| 亚洲欧洲日本一区二区三区| 亚洲剧情一区二区| 亚洲午夜激情网页| 性欧美激情精品| 久久久久亚洲综合| 欧美高清视频在线| 亚洲最新在线| 亚洲欧美中日韩| 久久视频一区| 欧美日韩在线看| 国产午夜亚洲精品不卡| 亚洲国产一区在线观看| 中文日韩在线视频| 久久免费观看视频| 亚洲人成网站777色婷婷| 亚洲一区二区三区四区中文| 久久九九久久九九| 欧美美女bbbb| 国产亚洲精品一区二555| 亚洲精品乱码久久久久久黑人| 亚洲新中文字幕| 久久综合给合久久狠狠狠97色69| 欧美91福利在线观看| av成人手机在线| 久久久久久久久蜜桃| 欧美顶级少妇做爰| 国产亚洲精品综合一区91| 亚洲乱码国产乱码精品精98午夜| 亚洲天堂激情| 久久婷婷综合激情| 日韩一级二级三级| 久久精品视频一| 欧美日韩视频在线一区二区 | 尤物yw午夜国产精品视频明星| 日韩午夜免费视频| 久久激情视频免费观看| 亚洲区一区二区三区| 欧美在线免费播放| 欧美日韩亚洲综合| 在线观看亚洲a| 午夜精品免费在线| 亚洲国产女人aaa毛片在线| 午夜精品视频在线观看| 欧美福利在线观看| 国产一区二三区| 亚洲在线播放| 欧美韩日视频| 久久久www免费人成黑人精品| 国产精品高清在线| 亚洲激情小视频| 久久久综合网站| 亚洲男女毛片无遮挡| 欧美人与性动交cc0o| 亚洲国产99精品国自产| 久久精品视频免费| 亚洲一区成人| 国产精品久久久久久一区二区三区| 亚洲人成在线播放网站岛国| 久久综合色播五月| 香蕉视频成人在线观看| 国产精品少妇自拍| 亚洲欧美日本国产有色| 夜夜嗨av一区二区三区免费区| 久久xxxx| 国产精品推荐精品| 亚洲欧美日韩精品久久久| 一本色道久久综合亚洲精品按摩| 欧美激情网友自拍| 亚洲人被黑人高潮完整版| 欧美成人精品一区二区| 久久露脸国产精品| 国内精品伊人久久久久av影院| 久久国产免费| 欧美一区二区啪啪| 国产欧美日韩在线观看| 久久国产欧美| 欧美在线你懂的| 好吊妞这里只有精品| 久久视频一区| 久久精品在线视频| 一区视频在线| 麻豆成人在线播放| 免费欧美在线视频| 亚洲精品社区| 欧美成人资源网| 欧美精品激情| 亚洲字幕一区二区| 亚洲一区二区精品在线| 国产日韩欧美二区| 久久综合影音| 欧美成人69av| 亚洲一二三级电影| 亚洲欧美成人| 国内偷自视频区视频综合| 免费在线欧美黄色| 欧美国产视频在线| 亚洲视屏在线播放| 亚洲女同在线| 一区在线观看| 亚洲国产日韩美| 欧美日韩在线视频一区二区| 午夜精品福利在线观看| 欧美在线观看网站| 91久久久久久| 亚洲色图在线视频| 国内成+人亚洲+欧美+综合在线| 久久久久免费观看| 麻豆91精品| 宅男在线国产精品| 性色av香蕉一区二区| 亚洲激情在线激情| 亚洲一区二区在线播放| 国产一区视频在线观看免费| 欧美福利在线观看| 国产精品va在线播放| 久久精品视频在线观看| 欧美国产精品专区| 欧美在线免费视屏| 美女精品国产| 欧美亚洲免费电影| 美女视频网站黄色亚洲| 午夜精品久久久久久久久久久| 欧美一区二区女人| 一区二区不卡在线视频 午夜欧美不卡在 | 一区二区三区视频在线播放| 136国产福利精品导航网址| 亚洲永久精品国产| 久久综合久久综合久久| 久久精品夜夜夜夜久久| 国产日韩欧美不卡| 午夜一区二区三区在线观看| 久久9热精品视频| 国产亚洲激情| 午夜亚洲视频| 久久久之久亚州精品露出| 狠狠干综合网| 久久午夜影视| 欧美激情欧美激情在线五月| 亚洲国产另类久久精品| 欧美激情按摩| 一区二区三区视频在线看| 国产精品99久久久久久久久久久久 | 夜夜嗨av一区二区三区中文字幕| 欧美精品18+| 亚洲美女黄网| 亚洲欧美日韩一区二区三区在线| 国产九九精品| 久久久99爱| 久久综合电影| 日韩视频国产视频|