淺談淘寶客網(wǎng)站api緩存優(yōu)化設(shè)計(jì)
來(lái)源:網(wǎng)賺120的空間 2012-01-12
網(wǎng)站之間內(nèi)容同質(zhì)化問(wèn)題這個(gè)可以通過(guò)調(diào)用api時(shí)多增加一些自定義的特殊參數(shù)來(lái)解決,比如大家可以設(shè)置分類列表默認(rèn)只調(diào)用傭金比例為萬(wàn)分之231到萬(wàn)分之5000,api里面是按照總數(shù)一萬(wàn)來(lái)算傭金比例的,最小150,最多5000,這樣子您的分類列表頁(yè)面就跟別人不一樣了,即便程序大體一樣,獲得的數(shù)據(jù)也不一樣。列表數(shù)據(jù)不一樣,最終商品內(nèi)容頁(yè)的數(shù)據(jù)也就不一樣了。
獲取淘寶客api數(shù)據(jù)時(shí)應(yīng)該注意的問(wèn)題:
一般一個(gè)頁(yè)面調(diào)用一個(gè)api就行了,最多2,3個(gè),如果更多的話,一分鐘調(diào)用的次數(shù)很容易就超了,然后taobao后臺(tái)就會(huì)屏蔽你這個(gè)app_key 的調(diào)用大概1分鐘,這段時(shí)間你的網(wǎng)站如果不用緩存的話就都是空白了。解決方法是減少單頁(yè)面api調(diào)用頻率,同時(shí)增加api緩存以及設(shè)置獲取不到數(shù)據(jù)時(shí)自動(dòng)調(diào)用老數(shù)據(jù)以避免頁(yè)面空白或者錯(cuò)誤,還有設(shè)置當(dāng)調(diào)用不到數(shù)據(jù)時(shí)不保存緩存,否則緩存就是空的,會(huì)造成在緩存時(shí)間內(nèi)即便api調(diào)用到數(shù)據(jù),頁(yè)面也是空白或者錯(cuò)誤。
現(xiàn)在網(wǎng)絡(luò)上充斥著各種帶緩存的淘寶客api程序,大部分基于php版本的taoapi作為框架來(lái)寫的。taoapi是個(gè)好程序,通過(guò)文本來(lái)緩存api 數(shù)據(jù),對(duì)于小型網(wǎng)站非常適用,甚至可以不用數(shù)據(jù)庫(kù)就可以建站,對(duì)于小型虛擬主機(jī)適應(yīng)性非常好。但是對(duì)于稍微大點(diǎn)的網(wǎng)站,此種方法的弊端就開(kāi)始顯露了。
一、稍微大點(diǎn)的api網(wǎng)站蜘蛛特別是baidu蜘蛛的爬行頻率非常高,一天可達(dá)幾萬(wàn)設(shè)置更多,每天寫入幾萬(wàn)個(gè)文本文件到空間或者vps或者服務(wù)器里面,時(shí)間一長(zhǎng)不到一個(gè)月估計(jì)你的vps就掛了,不掛也會(huì)非常慢,空間是絕對(duì)掛,服務(wù)器湊合支撐,不過(guò)你等著做好更換服務(wù)器硬盤的準(zhǔn)備。
二、緩存里面有很多空內(nèi)容,即調(diào)不到api數(shù)據(jù)時(shí)也寫入緩存了,這個(gè)taoapi是沒(méi)做判斷的,造成很多頁(yè)面如果當(dāng)時(shí)調(diào)用不到數(shù)據(jù),然后在緩存有效期內(nèi)頁(yè)面都是空白或者錯(cuò)誤,用戶體驗(yàn)極差,seo就更別說(shuō)了。
三、接上面第二點(diǎn),當(dāng)?shù)谝淮握{(diào)用到有用的數(shù)據(jù)的時(shí)候,然后過(guò)了有效期,這時(shí)候突然由于各種因素,調(diào)用不到數(shù)據(jù)了,這時(shí)候taoapi會(huì)直接用空白的數(shù)據(jù)覆蓋有用的數(shù)據(jù),于是循環(huán)第二點(diǎn),頁(yè)面本來(lái)是有數(shù)據(jù)的,也沒(méi)了。
四、淘寶客api緩存終極解決方法:
A、用入庫(kù)來(lái)代替代替文本緩存,可以入各種常用數(shù)據(jù)庫(kù),mysql,mssql等
B、入庫(kù)時(shí)的主鍵就用文本緩存的md5文件名,對(duì)taoapi保存緩存的地方稍微做下二次開(kāi)發(fā)即可
C、入庫(kù)時(shí)的內(nèi)容就用文本緩存的內(nèi)容,即序列化的api數(shù)據(jù)結(jié)果數(shù)組
D、對(duì)不同調(diào)用方法設(shè)置不同的表,由于淘寶客的調(diào)用方法都是用英文的點(diǎn)來(lái)分割的,而mysql是不支持表名稱里面還有英文點(diǎn)的,可以用str_replace把英文點(diǎn)替換為英文下劃線。
E、如果數(shù)據(jù)量更大,大家可以考慮在用調(diào)用方法來(lái)分表的基礎(chǔ)上增加一個(gè)md5文件名的第一位來(lái)二次分表,由于md5值只有 0123456789abcdef這16個(gè)字符,這樣子調(diào)用方法的表又可以分為16個(gè),如果更多,則可以用md5的前兩位來(lái)二次分表或者分不同數(shù)據(jù)庫(kù),設(shè)置不同服務(wù)器來(lái)保存。
本文由AiWeTalk在線客服(www.zhangxiannews.cn)網(wǎng)絡(luò)推廣編輯
我的評(píng)論
登錄賬號(hào): | 密碼: | 快速注冊(cè) | 找回密碼 | ![]() |
| 欧美丰满人妻免费视频人 | 亚洲色噜噜狠狠网站人与鲁 | 熟妇的味道HD在线观看 | 一区二区三区视频在线观看精品 | 日本不卡视频在线观看 | 国产V亚洲V天堂a无码久 | 中文字幕丝袜第一页 | ,无遮挡男女一进一出视频真人 | ThePorn国产熟女 | 房事AV一级免费观看 | 欧美性夜黄A片爽爽免费视频 | 午夜理理伦电影A片朋友夫妇 | 无码秘 人妻一区二区三区 精品秘 无码一区二区久久 | 国产精品秘 福利姬在线观看 | 欧美freesex 交免费视频 | 国产伦精品一级A片视频夜夜 | 欧美成人激情色情视频 | 一道本无码DVD | 欧美性插xxxxxx | 精品人妻伦一二三久久18禁杨幂 | 亚洲黄色电影免费在线观看 | 精品多人4P无码视频 | 亚洲AV无码成人精品区大猫 | 亚洲外露出全裸福利网站频道 | 国产精品二区一区二区AⅤ污介绍 | 蜜月a∨精品一区二区三区 HEYZO东京热日本无码 | 姝姝窝人体色www精品 | 久久毛片www.17c.com | 免费添女人囗交做爰视频 | 久久影院AV无码免费观看 | 日韩精品无码一二区AV红杏直播 | 国产剧情亚洲无码视频 | 麻豆精品秘 国产传媒AV消防 | 国产精品久久一区二区三影音先锋 | 成人黄色电影在线免费观看 | 麻豆乱码国产一区二区三区 | 人人妻人人爱人人做人人爽性色AV | 国产疯狂做爰无码A片 | 亚洲无码分区精品视频 | 亚洲AV蜜桃永久无码精品红桥矿 |