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

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,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精品福利视频| 亚洲伦伦在线| 亚洲先锋成人| 欧美一区二区免费视频| 久久er精品视频| 亚洲欧美一区二区三区极速播放| 日韩视频久久| 亚洲欧美在线视频观看| 欧美在线首页| 欧美黄色影院| 亚洲视频一区在线| 亚洲高清不卡| 久久不射2019中文字幕| 国产一区二区高清| 久久野战av| 玖玖视频精品| 日韩视频在线播放| 亚洲精品视频一区| 国产精品高清在线| 久久精品国产亚洲一区二区| 久久精品国产99国产精品澳门| 在线观看av一区| 亚洲黄色成人| 欧美日韩精品免费在线观看视频| 亚洲天堂av在线免费观看| 正在播放亚洲一区| 国模私拍一区二区三区| 欧美成人午夜| 欧美日韩xxxxx| 欧美一级视频精品观看| 久久国产天堂福利天堂| 在线欧美小视频| 亚洲精品日韩激情在线电影| 欧美午夜不卡在线观看免费| 欧美在线免费观看视频| 久久精品国产亚洲aⅴ| 亚洲日本va午夜在线影院| 一本久道久久综合狠狠爱| 国产日韩专区| 最新高清无码专区| 国产美女高潮久久白浆| 欧美激情第1页| 国产精品久久久久毛片大屁完整版 | 欧美丰满少妇xxxbbb| 亚洲一区国产| 久久夜色撩人精品| 亚洲免费视频网站| 免费的成人av| 久久久91精品国产| 欧美午夜一区| 欧美国内亚洲| 国产日韩一区二区三区在线| 91久久久久久久久| 狠狠久久五月精品中文字幕| 亚洲精品日韩在线| 伊人久久大香线| 亚洲视频一区二区在线观看 | 亚洲欧美综合一区| 欧美一区网站| 欧美美女视频| 欧美va亚洲va香蕉在线| 国产精品一二一区| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲精品久久久久久下一站| 国产精品看片你懂得| 亚洲第一区在线观看| 国产欧美精品日韩| 一本色道久久综合亚洲精品小说 | 国产精品视频| 日韩视频不卡| 亚洲人久久久| 久久综合狠狠| 免费观看国产成人| 国内在线观看一区二区三区| 亚洲午夜一区二区三区| 一本一本久久a久久精品综合妖精| 久久精品日产第一区二区| 午夜精品久久久久久久| 欧美午夜三级| 一区二区三区回区在观看免费视频| 亚洲福利在线看| 久久婷婷国产综合精品青草| 久久伊人亚洲| 在线日韩成人| 欧美成人xxx| 亚洲国产精品视频| 日韩视频在线免费| 欧美日韩免费观看一区=区三区| 亚洲激情视频网站| 日韩午夜视频在线观看| 欧美激情一区三区| 亚洲精品久久久一区二区三区| 亚洲国产精品久久久久久女王| 久久午夜av| 欧美国产日韩一区二区| 亚洲精品一区二区三区在线观看 | 国产精品va在线播放| 在线亚洲+欧美+日本专区| 亚洲专区一区二区三区| 国产精品少妇自拍| 亚洲欧美日韩一区二区| 久久精品中文| 亚洲国产欧美一区| 欧美人与禽性xxxxx杂性| 亚洲乱码国产乱码精品精天堂| 国产精品99久久不卡二区| 欧美色123| 欧美一级黄色网| 欧美成人中文| 亚洲一区二区在线观看视频| 国产欧美亚洲精品| 久久久亚洲影院你懂的| 亚洲精品女人| 亚洲一区二区高清视频| 国产欧美精品xxxx另类| 久久综合久久美利坚合众国| 亚洲精品国产视频| 欧美专区在线观看| 亚洲久色影视| 国产精品一区二区黑丝| 久久久国产视频91| 99国产精品久久久久久久久久| 久久久久久自在自线| 久久久久天天天天| 亚洲免费视频一区二区| 欧美午夜精彩| 久久久久久一区| 99精品视频网| 久久综合色播五月| 亚洲午夜黄色| 亚洲高清网站| 国产欧美精品在线观看| 欧美精品91| 欧美中日韩免费视频| 亚洲日本无吗高清不卡| 久久精品亚洲一区二区| 洋洋av久久久久久久一区| 国内精品免费在线观看| 欧美性猛交99久久久久99按摩| 久久全球大尺度高清视频| 这里只有视频精品| 亚洲经典在线| 牛人盗摄一区二区三区视频| 午夜精品久久久久| 一本色道精品久久一区二区三区 | 国产精品一级| 欧美日韩视频在线一区二区| 久久人人看视频| 亚洲欧美经典视频| 亚洲免费播放| 亚洲国产精品va在看黑人| 久久久久久久一区二区三区| 亚洲嫩草精品久久| 在线一区观看| 亚洲精品视频免费| 亚洲国产精品久久久久| 国内精品久久久久影院优| 国产精品入口| 欧美午夜宅男影院| 欧美日韩午夜视频在线观看| 欧美va天堂va视频va在线| 久久国产婷婷国产香蕉| 一区二区三区视频在线看| 亚洲精品乱码久久久久久黑人| 模特精品裸拍一区| 欧美伊人久久大香线蕉综合69| 亚洲欧美日韩爽爽影院| 亚洲图片欧美一区| 一区二区毛片| 亚洲永久免费精品| 亚洲欧美日韩精品综合在线观看| 亚洲午夜久久久久久久久电影网| av成人免费观看| 亚洲无线一线二线三线区别av| 一本一道久久综合狠狠老精东影业| 亚洲美女在线视频| 一区二区三区久久| 亚洲永久网站| 午夜一级久久| 久久精品毛片| 老司机67194精品线观看| 蜜桃视频一区| 亚洲欧洲一区二区三区久久| 亚洲精品一区二区在线| 中文欧美日韩| 小黄鸭视频精品导航| 久久免费99精品久久久久久| 久久国产黑丝| 欧美成人情趣视频| 欧美日韩高清在线| 国产精品一区二区三区免费观看| 国产欧美另类| 亚洲福利视频二区| 一区二区三区视频在线| 欧美亚洲网站| 嫩草成人www欧美| 99国内精品久久|