亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: yanyangtian4502
打印 上一主題 下一主題

從案例引發(fā)的對緩存設計的思考,干貨討論,絕對不玩虛的(獲獎名單已公布-2012-6-13) [復制鏈接]

論壇徽章:
0
11 [報告]
發(fā)表于 2012-05-17 10:20 |只看該作者
回復 10# Gray1982

對,這個已經(jīng)到了后面的程序后臺的緩存了,等會我會談到那里!
現(xiàn)在還在前端跑著。呵呵呵


   

論壇徽章:
0
12 [報告]
發(fā)表于 2012-05-17 10:23 |只看該作者
加快速度把,剛剛又朋友談到了分布緩存等內容,
那么就看看代理緩存,代理緩存基本是不需要我們的任何成本,只要我們設置了,并且代理那邊可以緩存數(shù)據(jù),就行了。
設置也非常的簡單,把Cache-Control,設置為public就行了,private就只緩存在瀏覽器。

設置依然簡單,但是用起來也是問題多多。

論壇徽章:
0
13 [報告]
發(fā)表于 2012-05-17 10:36 |只看該作者
喲,依然使我回答,好吧,大家以后就把這個帖子作為緩存的一個參考資料吧,呵呵呵!

代理緩存的問題,主要出現(xiàn)在三個方面:
1.安全
2.地區(qū)問題
3.內容更新問題

首先,對于安全問題,這是最大的問題:因為代理會把根據(jù)URL,把整個頁面的數(shù)據(jù)緩存起來,其中就包括了響應頭,那么就包含了cookie信息。問題就在這里啦,如果用戶A登錄之后,代理緩存了頁面的響應,那么用戶B在此請求相同的頁面的時候,那么整個響應就會給B了,這個時候,用戶B就可以以A的身份進去瞎搞了。

對于這個問題,沒有辦法解決,但是有辦法避免:把一些不需要用戶登錄就可以訪問的頁面,特別是那些靜態(tài)的內容的頁面,可以設置代理緩存;涉及到用戶驗證才能看的頁面,不要設置了。

其次,就是地區(qū)問題,
因為代理緩存了整個頁面,而且是根據(jù)URL來匹配的,如果咱們中國人去訪問一個頁面,例如www.agilesharp.com/blog/12344,這個時候,代理緩存就把這個中文的頁面內容緩存,如果我們的站點是支持多語言的,那么,此時,如果美國人去訪問了同一個URL,那么這個時候,或許,請求不會提交給我們的服務器,代理就會把中文的頁面內容給老美,那叫一個郁悶,是吧。

怎么辦?呵呵,方法雖然鮮為人知,但是依然簡單。
設置頭信息:Accept-Language

在發(fā)送中文響應的時候,設置為:Accept-Language: zh-cn,那么代理緩存就會緩存這個版本的內容
如果是請求的英文,那么,老美的瀏覽器發(fā)送的請求的這個Accept-Language的信息就是 en-US,代理一看這樣版本的內容沒有,那么就會把請求交給我們的服務器了。

最后的結果就是代理中緩存了同一個頁面的不同版本的內容。

論壇徽章:
0
14 [報告]
發(fā)表于 2012-05-17 10:40 |只看該作者
對于代理緩存,剛剛忘記說“3.內容更新問題“問題了。
這里補上。

內容更新問題:因為代理緩存了頁面的所有數(shù)據(jù),包括圖片,js等等,那么即使我們的頁面中的圖片等更新了,但是客戶端是無法知道的,除非緩存的之間過期了。這個問題,無法解決!
所以,要注意。。。

論壇徽章:
0
15 [報告]
發(fā)表于 2012-05-17 10:41 |只看該作者
本帖最后由 yanyangtian4502 于 2012-05-17 10:49 編輯

好了,現(xiàn)在終于開始走到服務端了。重頭戲來了!
我休息一會,大家發(fā)言。。。!多吐干貨!不玩虛的啊

論壇徽章:
0
16 [報告]
發(fā)表于 2012-05-17 11:13 |只看該作者
不是一一個觀點么  

提高site的性能 就是多Cache

論壇徽章:
0
17 [報告]
發(fā)表于 2012-05-17 11:14 |只看該作者
回復 1# yanyangtian4502


    如果使用cache 那就要考慮cache的命中率 以及 交互式的web2.0的 實時數(shù)據(jù)

論壇徽章:
13
技術圖書徽章
日期:2014-04-29 14:15:42IT運維版塊每日發(fā)帖之星
日期:2015-12-12 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-30 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-24 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-02 06:20:002015年亞洲杯之澳大利亞
日期:2015-04-03 15:03:12申猴
日期:2015-03-20 09:00:292015年迎新春徽章
日期:2015-03-04 09:54:452015年辭舊歲徽章
日期:2015-03-03 16:54:15季節(jié)之章:冬
日期:2015-01-20 17:08:47雙子座
日期:2014-11-21 16:30:31技術圖書徽章
日期:2014-07-11 16:29:08
18 [報告]
發(fā)表于 2012-05-17 11:46 |只看該作者
支持這樣的活動!

論壇徽章:
0
19 [報告]
發(fā)表于 2012-05-17 11:50 |只看該作者
回復 18# dengbao2001

多謝認可!

   

論壇徽章:
0
20 [報告]
發(fā)表于 2012-05-17 11:57 |只看該作者
本帖最后由 yanyangtian4502 于 2012-05-17 12:00 編輯

好了,現(xiàn)在到了服務器端了,首先看看內核緩存!
其實這個內核緩存就涉及到操作系統(tǒng)和宿主(IIS,Apache等)

說實在的,我對Windows操作系統(tǒng)和IIS比較了解,對其他的不清楚,但是我相信:原理和思想都是一樣的!

我先以Windows和IIS為例子吧,說完之后,如果熟悉Liunx,Apache等其他平臺的朋友,可以一并分享一下。

首先看一個圖:


當一個請求被HTTP監(jiān)聽者(HTTP.sys)接受之后,它根據(jù)請求的URL進行匹配,然后馬上就把請求放在一個內核模式的不同的隊列中,以便這些請求可以被用戶模式中的應用程序池中工作進程獲取,然后處理。這里之所以要把請求放在隊列中是為了快速的釋放HTTP監(jiān)聽線程,從而使得HTTP.sys可以接受其他更多的請求。另外,請求被放在不同的隊列,主要是根據(jù)請求的URL來分組的,并且應用程序池中也配置了處理何種URL。              

當響應產(chǎn)生之后,響應會被再次發(fā)送給HTTP.sys(大家可以看到圖中第5個步驟),然后再把響應發(fā)送給客戶端。HTTP.sys可以基于一些配置將響應進行緩存,我們會在后面進一步的討論。
               

這里有一點非常中的就是:HTTP.sys將響應緩存在內核中,并且這個內核中的這個緩存空間是不分頁的。
不分頁就意味著HTTP.sys總是將響應的內容緩存物理的內存中,而且這一塊內存不會被交換出去,就是說不會被分頁到磁盤上面。這涉及到了Windows操作系統(tǒng)的內存管理機制,大家自學去吧,呵呵。

當請求的響應被緩存在了內核模式之后,下次再次請求的時候,可以直接的讀取緩存,而后續(xù)的步驟全部跳過,這會極大的提升性能。


另外,有一點我這里要提到的就是一個傳說“很多人常常說要使用靜態(tài),或者偽靜態(tài)”。 我常常也在面試中問別人:為什么要這么搞?
很多人就是支支吾吾,瞎扯一通,最讓我崩潰的回答就是“網(wǎng)上說的”。

大家想知道答案嗎?
呵呵 我稍后回復

我提示一點:這一內核緩存相關
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP