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

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,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 那誰 閱讀(5890) 評論(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>
            亚洲人成在线观看一区二区| 中日韩美女免费视频网址在线观看 | 在线中文字幕不卡| 欧美国产日韩二区| 91久久精品日日躁夜夜躁国产| 美女精品国产| 欧美大片免费看| 午夜国产欧美理论在线播放| 亚洲无线视频| 欧美a级片网站| 亚洲欧美日韩国产一区二区三区| 夜夜躁日日躁狠狠久久88av| 久久精品国产在热久久| 亚洲视频999| 国产日韩欧美自拍| 香港久久久电影| 亚洲伊人久久综合| 美女黄网久久| 1769国内精品视频在线播放| 中国亚洲黄色| 国产精品制服诱惑| 开元免费观看欧美电视剧网站| 欧美激情aⅴ一区二区三区| 99视频在线精品国自产拍免费观看| 一本色道精品久久一区二区三区 | 国产精品一区二区视频 | 久久中文在线| 久久久国产精品一区| 一区二区三区在线视频免费观看| 免费成人高清视频| 欧美亚男人的天堂| 欧美一级专区| 久久av资源网站| 在线精品视频免费观看| 亚洲黄色成人| 国产一区二区黄色| 免费观看国产成人| 欧美欧美全黄| 午夜亚洲伦理| 久久久精品国产免费观看同学| 黄色成人免费网站| 欧美黄污视频| 模特精品在线| 久久久久久穴| 国产精品毛片一区二区三区| 欧美成人嫩草网站| 国产精品自拍三区| 日韩视频在线免费观看| 在线视频成人| 久久av一区二区三区| 亚洲欧洲日韩综合二区| 欧美激情 亚洲a∨综合| 激情五月婷婷综合| 性做久久久久久| 亚洲破处大片| 亚洲第一久久影院| 国产精品久久久久影院亚瑟| 亚洲激情专区| 亚洲精品国精品久久99热| 欧美一区2区三区4区公司二百| 亚洲视频国产视频| 久久天天躁狠狠躁夜夜av| 欧美专区中文字幕| 欧美金8天国| 久久精品视频导航| 国产亚洲成av人在线观看导航| 在线视频亚洲一区| 亚洲专区一区| 亚洲在线日韩| 99精品国产热久久91蜜凸| 欧美中在线观看| 久久精品亚洲| 狠狠综合久久| 亚洲一区在线播放| 亚洲欧美日韩精品久久久| 欧美亚男人的天堂| 欧美在线亚洲在线| 欧美在线影院在线视频| 亚洲免费视频中文字幕| 国产精品久久久久永久免费观看| 中文精品99久久国产香蕉| 亚洲专区一二三| 亚洲视频福利| 亚洲在线1234| 国产精品一区久久久久| 欧美亚洲一区二区在线| 久久久视频精品| 悠悠资源网亚洲青| 欧美视频观看一区| 亚洲女同精品视频| 亚洲高清一二三区| 亚洲婷婷免费| 国产午夜亚洲精品羞羞网站| 久久夜色精品国产欧美乱| 亚洲欧美网站| 欧美视频精品一区| 亚洲欧美在线一区| 蜜桃伊人久久| 国产一区二区三区在线免费观看| 久久久五月婷婷| 亚洲伦理久久| 久久久久久国产精品一区| 亚洲国产老妈| 国产精品国产自产拍高清av王其 | 美女黄色成人网| 99精品国产在热久久婷婷| 亚洲欧美日韩精品综合在线观看| 国产午夜精品美女毛片视频| 久久综合久久久久88| 99国产精品自拍| 久久精品人人做人人爽电影蜜月| 欧美色一级片| 久久国产一区| 亚洲精品小视频| 久久久免费av| 这里只有精品丝袜| 狠狠色香婷婷久久亚洲精品| 欧美老女人xx| 久久久久久国产精品一区| 噜噜噜91成人网| 精品动漫3d一区二区三区免费版| 美国成人直播| 亚洲激情午夜| 欧美日韩一级黄| 欧美亚洲综合网| 91久久久亚洲精品| 亚洲毛片在线看| 狠狠狠色丁香婷婷综合激情| 欧美精品一区二区三区蜜臀| 久久av一区二区三区漫画| 99re6热在线精品视频播放速度| 久久免费的精品国产v∧| 中日韩高清电影网| 91久久久在线| 韩国一区二区三区美女美女秀| 欧美四级电影网站| 午夜在线精品偷拍| 99国产精品视频免费观看| 欧美成熟视频| 美女爽到呻吟久久久久| 性做久久久久久久久| 国产伦精品一区二区三区视频黑人| 免费欧美电影| 久久天堂国产精品| 欧美jizzhd精品欧美巨大免费| 激情欧美一区二区三区在线观看| 久久男女视频| 亚洲精品一区二区三区不| 美女国产一区| 欧美黄色小视频| 一区二区av在线| 国产精品美女久久久| 亚洲欧美综合v| 免费成人在线观看视频| 亚洲国产网站| 欧美日韩一二三区| 亚洲第一精品夜夜躁人人爽| 亚洲大片一区二区三区| 国产精品劲爆视频| 欧美丰满高潮xxxx喷水动漫| 久久久久久久性| 亚洲伊人久久综合| 国内成人精品视频| 欧美激情一区二区在线| 久久一区二区三区av| 久久久国产精品一区二区中文| 午夜精品一区二区三区在线| 欧美亚洲免费| 一区二区日韩免费看| 亚洲天堂免费观看| 99天天综合性| 亚洲一区在线观看免费观看电影高清| 亚洲主播在线播放| 欧美一级专区免费大片| 欧美一区午夜视频在线观看| 香蕉免费一区二区三区在线观看| 欧美一区二区在线看| 久久青草福利网站| 美女诱惑一区| 欧美精品首页| 国产精品久久99| 国产精品手机在线| 狠狠久久五月精品中文字幕| 欧美视频在线观看一区二区| 国产精品亚洲精品| 狠狠色综合色区| 亚洲精品久久久久久久久| 在线观看亚洲精品| 国产中文一区| 欧美亚洲色图校园春色| 最新国产成人av网站网址麻豆| 亚洲精品女av网站| 性做久久久久久| 欧美电影免费观看网站| 欧美成人在线免费观看| 欧美日韩亚洲91| 欧美日韩国产小视频| 国产美女高潮久久白浆| 亚洲国产二区| 亚洲免费在线|