|         Squid web緩存加速軟件目前已經(jīng)是新浪、搜狐、網(wǎng)易等各大網(wǎng)站廣泛應(yīng)用。Squid會在設(shè)置的緩存目錄下建立多個目錄,每一個目錄下又建立多個目錄,然后才在最里層的目錄中存放緩存文件(object)。squid會根據(jù)用戶請求網(wǎng)頁的URL進(jìn)行哈希,生成緩存文件,存放在某一個目錄中。squid啟動之后,將在內(nèi)存中建立一個哈希表,記錄硬盤中緩存文件配置的情形。 對于類似http://you.video.sina.com.cn/index.html之類的網(wǎng)頁,squid只會生成一個緩存文件??梢杂?strong>squid附帶的squidclient工具清除: squidclient -m PURGE -p 80http://you.video.sina.com.cn/index.html 而對于帶有參數(shù)的網(wǎng)頁,例如新浪播客的Flash播放器http://vhead.blog.sina.com.cn/pl ... &uid=1278987704,因“?”后面的參數(shù)不同,導(dǎo)致URL也不同,squid會生成多個緩存文件,哈希分散存放在不同的目錄。如果修改了這個outer_player.swf 文件,要更新squid緩存就要去清除不同目錄下及內(nèi)存中的很多個緩存文件,十分麻煩,于是我編寫了一個Linux下的shell腳本,去完成這件麻煩的事: 腳本文件名:clear_squid_cache.sh 
 設(shè)置: squidcache_path= 表示squid緩存目錄的路徑 squidclient_path= 表示squidclient程序所在的路徑,默認(rèn)為squid安裝目錄下的bin/squidclient 用法: 1、清除所有Flash緩存(擴(kuò)展名.swf): ./clear_squid_cache.sh swf 2、清除URL中包含sina.com.cn的所有緩存: ./clear_squid_cache.sh sina.com.cn 3、清除文件名為zhangyan.jpg的所有緩存: ./clear_squid_cache.sh zhangyan.jpg 效率: 經(jīng)測試,在DELL 2950上清除26000個緩存文件用時2分鐘左右。平均每秒可清除緩存文件177個。 | 
|  |