|
一般,頁面上會分為很多部分,而不同的部分更新的頻率是不一樣的。如果對整個頁面采用統(tǒng)一的緩存策略則不太合適,
而且很多系統(tǒng)的頁面左上角都有一個該死的“Welcome XXX”。這種特定于用戶的信息我們是不能緩存的。對于這些情況我們就需要使用片段緩存了。對頁面不同的部分(片段)施加不同的緩存策略,而要使用片段緩存,首先就得對頁面進行切分。土一點的辦法可以用iframe,用iframe將頁面劃分為一塊塊的,不過我總覺得iframe是個邪惡的東西。好點的辦法可以用Ajax單獨的請求這個片段的內(nèi)容然后再填充,看起來挺美好的。不過使用Ajax也有一些限制:
1、如果頁面上有許多片段,使用太多的這種技術,會有很多請求發(fā)送到服務器,HTTP對同一個域名有連接的限制,這樣會降低并發(fā)連接的效率。
2、如果說第一個不是什么問題,那么還有一點可能對用戶體驗不友好。比如有一個片段可能響應慢點,造成頁面閃爍。不過如果前面兩點都可以克服,這個方案還是可以的。可惡的是我們的客戶(此處省略500字),說他們的大多數(shù)用戶處于一個禁用JavaScript的環(huán)境里。好吧,這個方案也不能使用了。如是我們進行了一系列其他關于片段緩存的嘗試:
我們的系統(tǒng)使用的是Spring+Hibernate+Oracle技術,模板引擎使用的是Apache Velocity。假設下面的片段是我們要緩存的內(nèi)容:
<ul>
#foreach($book in $books)
<li><a href="/book/books/$book.id">$book.name</a>---<a href="/book/books/edit/$book.id">Edit</a> -- <a href="/book/books/delete/$book.id">Delete</a></li>
#end
</ul>
NET技術:頁面片段緩存(一),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。