高性能Web服務(wù)器Nginxppt課件_第1頁(yè)
高性能Web服務(wù)器Nginxppt課件_第2頁(yè)
高性能Web服務(wù)器Nginxppt課件_第3頁(yè)
高性能Web服務(wù)器Nginxppt課件_第4頁(yè)
高性能Web服務(wù)器Nginxppt課件_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、高性能高性能Web服務(wù)器服務(wù)器Nginx及相關(guān)新技術(shù)的應(yīng)用實(shí)踐及相關(guān)新技術(shù)的應(yīng)用實(shí)踐 北京金山軟件 逍遙網(wǎng) 張宴 2021.10什么是什么是Nginx? Nginx (“engine x”) Nginx (“engine x”) 是俄羅斯人是俄羅斯人Igor Igor Sysoev(Sysoev(塞索耶夫塞索耶夫) )編寫(xiě)的一款高性能的編寫(xiě)的一款高性能的 和反向和反向代理服務(wù)器。代理服務(wù)器。 Nginx Nginx 已經(jīng)在俄羅斯最大的門(mén)戶網(wǎng)站已經(jīng)在俄羅斯最大的門(mén)戶網(wǎng)站 Rambler MediaRambler Mediarambler.rurambler.ru上運(yùn)行了上運(yùn)行了4 4年時(shí)間,年時(shí)

2、間,同時(shí)俄羅斯超過(guò)同時(shí)俄羅斯超過(guò)20%20%的虛擬主機(jī)平臺(tái)采用的虛擬主機(jī)平臺(tái)采用NginxNginx作作為反向代理服務(wù)器。為反向代理服務(wù)器。 在國(guó)內(nèi),已經(jīng)有新浪博客、新浪播客、搜狐通行在國(guó)內(nèi),已經(jīng)有新浪博客、新浪播客、搜狐通行證、網(wǎng)易新聞、網(wǎng)易博客、金山逍遙網(wǎng)、金山愛(ài)證、網(wǎng)易新聞、網(wǎng)易博客、金山逍遙網(wǎng)、金山愛(ài)詞霸、校內(nèi)網(wǎng)、詞霸、校內(nèi)網(wǎng)、YUPOOYUPOO相冊(cè)、豆瓣、迅雷看看等多相冊(cè)、豆瓣、迅雷看看等多家網(wǎng)站、頻道使用家網(wǎng)站、頻道使用 Nginx Nginx 服務(wù)器。服務(wù)器。Nginx的優(yōu)點(diǎn)的優(yōu)點(diǎn) 1 1、高并發(fā)連接:官方測(cè)試能夠支撐、高并發(fā)連接:官方測(cè)試能夠支撐5 5萬(wàn)并發(fā)連萬(wàn)并發(fā)連接,在實(shí)

3、際生產(chǎn)環(huán)境中跑到接,在實(shí)際生產(chǎn)環(huán)境中跑到2 23 3萬(wàn)并發(fā)連接數(shù)。萬(wàn)并發(fā)連接數(shù)。 2 2、內(nèi)存消耗少:在、內(nèi)存消耗少:在3 3萬(wàn)并發(fā)連接下,開(kāi)啟的萬(wàn)并發(fā)連接下,開(kāi)啟的1010個(gè)個(gè)Nginx Nginx 進(jìn)程才消耗進(jìn)程才消耗150M150M內(nèi)存內(nèi)存15M15M* *10=150M10=150M)。)。 3 3、配置文件非常簡(jiǎn)單:風(fēng)格跟程序一樣通俗、配置文件非常簡(jiǎn)單:風(fēng)格跟程序一樣通俗易懂。易懂。 4 4、成本低廉:、成本低廉:NginxNginx為開(kāi)源軟件,可以免費(fèi)使為開(kāi)源軟件,可以免費(fèi)使用。而購(gòu)買(mǎi)用。而購(gòu)買(mǎi)F5 BIG-IPF5 BIG-IP、NetScalerNetScaler等硬件負(fù)載等硬

4、件負(fù)載均衡交換機(jī)則需要十多萬(wàn)至幾十萬(wàn)人民幣。均衡交換機(jī)則需要十多萬(wàn)至幾十萬(wàn)人民幣。Nginx的優(yōu)點(diǎn)的優(yōu)點(diǎn) 5 5、支持、支持RewriteRewrite重寫(xiě)規(guī)則:能夠根據(jù)域名、重寫(xiě)規(guī)則:能夠根據(jù)域名、URLURL的不同,將的不同,將 請(qǐng)求分到不同的后端服務(wù)請(qǐng)求分到不同的后端服務(wù)器群組。器群組。 6 6、內(nèi)置的健康檢查功能:假如、內(nèi)置的健康檢查功能:假如 Nginx Nginx Proxy Proxy 后端的某臺(tái)后端的某臺(tái) Web Web 服務(wù)器宕機(jī)了,不服務(wù)器宕機(jī)了,不會(huì)影響前端訪問(wèn)。會(huì)影響前端訪問(wèn)。 7 7、節(jié)省帶寬:支持、節(jié)省帶寬:支持 GZIP GZIP 壓縮,可以添加壓縮,可以添加瀏覽

5、器本地緩存的瀏覽器本地緩存的 Header Header 頭。頭。 8 8、穩(wěn)定性高:用于反向代理,宕機(jī)的概率、穩(wěn)定性高:用于反向代理,宕機(jī)的概率微乎其微。微乎其微。單臺(tái)單臺(tái)Nginx支撐了高達(dá)支撐了高達(dá)2.8萬(wàn)的活動(dòng)并發(fā)連接數(shù)萬(wàn)的活動(dòng)并發(fā)連接數(shù)2021-09-03 14:302021-09-03 14:30,金山游戲,金山游戲 3臨時(shí)維護(hù)臨時(shí)維護(hù)1 1小時(shí),大量玩家上官網(wǎng),論壇、評(píng)論、客服等動(dòng)態(tài)應(yīng)用小時(shí),大量玩家上官網(wǎng),論壇、評(píng)論、客服等動(dòng)態(tài)應(yīng)用NginxNginx服務(wù)器集群,每臺(tái)服務(wù)器的服務(wù)器集群,每臺(tái)服務(wù)器的NginxNginx活動(dòng)連接數(shù)達(dá)到活動(dòng)連接數(shù)達(dá)到2.82.8萬(wàn),這是本人遇到的萬(wàn)

6、,這是本人遇到的NginxNginx生產(chǎn)環(huán)境最高并發(fā)值。生產(chǎn)環(huán)境最高并發(fā)值。Nginx的主要應(yīng)用類(lèi)別的主要應(yīng)用類(lèi)別 1 1、使用、使用 Nginx Nginx 結(jié)合結(jié)合FastCGIFastCGI運(yùn)行運(yùn)行 PHP PHP、JSP JSP 、PerlPerl等程序等程序 2 2、使用、使用 Nginx Nginx 作反向代理、負(fù)載均衡、作反向代理、負(fù)載均衡、規(guī)則過(guò)濾規(guī)則過(guò)濾 3 3、使用、使用 Nginx Nginx 運(yùn)行靜態(tài)運(yùn)行靜態(tài)HTMLHTML頁(yè)、圖片頁(yè)、圖片 4 4、NginxNginx與其他新技術(shù)的結(jié)合應(yīng)用與其他新技術(shù)的結(jié)合應(yīng)用Nginx在金山逍遙網(wǎng)中的應(yīng)用案例在金山逍遙網(wǎng)中的應(yīng)用案例

7、 金山逍遙網(wǎng)(xoyo)是金山游戲官方網(wǎng)站,為金山軟件旗下的各款游戲提供新聞資訊、客戶服務(wù)、在線充值、視聽(tīng)互動(dòng)、在線活動(dòng)、博客、相冊(cè)、論壇、玩家社區(qū)等內(nèi)容建設(shè)和在線服務(wù)支持。金山逍遙網(wǎng)金山逍遙網(wǎng)Nginx七層負(fù)載均衡的應(yīng)用七層負(fù)載均衡的應(yīng)用Nginx承擔(dān)每個(gè)機(jī)房承擔(dān)每個(gè)機(jī)房Web負(fù)載均衡服務(wù)負(fù)載均衡服務(wù)簡(jiǎn)單的簡(jiǎn)單的Nginx負(fù)載均衡配置負(fù)載均衡配置 upstream bbs_server_pool server 5:80 weight=1 max_fails=2 fail_timeout=30s; server 6:80 weight=1 max_f

8、ails=2 fail_timeout=30s; server 7:80 weight=1 max_fails=2 fail_timeout=30s; server 8:80 weight=1 max_fails=2 fail_timeout=30s; 在nginx.conf配置文件中,用upstream指令定義一組反向代理/負(fù)載均衡后端服務(wù)器池。簡(jiǎn)單的簡(jiǎn)單的Nginx負(fù)載均衡配置負(fù)載均衡配置 server listen80; server_name bbs.yourdomain *.bbs.yourdomain; location / proxy_

9、pass bbs_server_pool; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; access_log off; 簡(jiǎn)單的簡(jiǎn)單的Nginx負(fù)載均衡配置負(fù)載均衡配置 proxy_pass bbs_server_pool; 用于指定反向代理的服務(wù)器池。 proxy_set_header Host $host; 當(dāng)后端Web服務(wù)器上也配置有多個(gè)虛擬主機(jī)時(shí),需要用該Header來(lái)區(qū)分反向代理哪個(gè)主機(jī)名。 proxy_set_header X-Forwarded-For $remote_add

10、r; 如果后端Web服務(wù)器上的程序需要獲取用戶IP,請(qǐng)從該Header頭獲取。Nginx負(fù)載均衡的雙機(jī)熱備負(fù)載均衡的雙機(jī)熱備通常情況下的負(fù)載均衡HA高可用優(yōu)點(diǎn):實(shí)現(xiàn)了雙機(jī)熱備、故障自動(dòng)轉(zhuǎn)移。優(yōu)點(diǎn):實(shí)現(xiàn)了雙機(jī)熱備、故障自動(dòng)轉(zhuǎn)移。缺點(diǎn):備機(jī)服務(wù)器處于閑置狀態(tài),浪費(fèi)了硬件資源。缺點(diǎn):備機(jī)服務(wù)器處于閑置狀態(tài),浪費(fèi)了硬件資源。逍遙網(wǎng)逍遙網(wǎng)Nginx負(fù)載均衡雙機(jī)互備負(fù)載均衡雙機(jī)互備正常情況下,兩臺(tái)Nginx負(fù)載均衡服務(wù)器全部處于活動(dòng)狀態(tài),對(duì)外提供服務(wù)。服務(wù)器綁定服務(wù)器綁定IP別名別名 /sbin/ifconfig eth0:ha1 broadcast 55 netmask

11、 up /sbin/route add -host dev eth0:ha1 /sbin/arping -I eth0 -c 3 -s 在服務(wù)器的外網(wǎng)網(wǎng)卡eth0上,綁定了一個(gè)虛擬IP ,綁定完成后發(fā)送arping包給網(wǎng)關(guān)。服務(wù)器綁定服務(wù)器綁定IP別名別名 /sbin/ifconfig eth0:ha2 broadcast 55 netmask up /sbin/route add -host dev eth0:ha2

12、 /sbin/arping -I eth0 -c 3 -s 在服務(wù)器的外網(wǎng)網(wǎng)卡eth0上,綁定了一個(gè)虛擬IP ,綁定完成后發(fā)送arping包給網(wǎng)關(guān)。新的新的Nginx雙機(jī)互備雙機(jī)互備(發(fā)生故障時(shí)發(fā)生故障時(shí))自動(dòng)接管公網(wǎng)虛擬IP,實(shí)現(xiàn)故障轉(zhuǎn)移服務(wù)器去除服務(wù)器去除IP別名別名 /sbin/ifconfig eth0:ha1 broadcast 55 netmask down 通過(guò)兩臺(tái)服務(wù)器之間的互相檢測(cè)機(jī)制,當(dāng)服務(wù)器上的檢測(cè)程序發(fā)現(xiàn)自身的Nginx無(wú)法訪問(wèn)時(shí),停止綁定虛擬IP 61.1

13、.1.2服務(wù)器接管原服務(wù)器的虛擬服務(wù)器接管原服務(wù)器的虛擬IP /sbin/ifconfig eth0:ha1 broadcast 55 netmask up /sbin/route add -host dev eth0:ha1 /sbin/arping -I eth0 -c 3 -s 給網(wǎng)關(guān)發(fā)送Arping包,保證了網(wǎng)關(guān)上IP、MAC地址對(duì)應(yīng)關(guān)系能夠馬上更改,能夠做到強(qiáng)行接管虛擬IP。Nginx負(fù)載均衡負(fù)載均衡URL分發(fā)分發(fā)硬件、軟件七層負(fù)載均衡對(duì)比:NetScaler與Ngin

14、x硬件、軟件七層負(fù)載均衡對(duì)比:NetScaler與Nginx根據(jù)不同的根據(jù)不同的URL轉(zhuǎn)發(fā)到不同服務(wù)器轉(zhuǎn)發(fā)到不同服務(wù)器server listen 80; server_name abc.domain; location /admincp.php proxy_pass 1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; location / proxy_pass php_server_pool; proxy_set_header Host $host; proxy_se

15、t_header X-Forwarded-For $remote_addr; Web相關(guān)文件的實(shí)時(shí)自動(dòng)同步相關(guān)文件的實(shí)時(shí)自動(dòng)同步少量文件的多服務(wù)器自動(dòng)同步少量文件的多服務(wù)器自動(dòng)同步 使用Linux 2.6內(nèi)核的inotify監(jiān)控Linux文件系統(tǒng)事件。 利用開(kāi)源的lsync監(jiān)聽(tīng)某一目錄,如果目錄內(nèi)文件發(fā)生增、刪、改,利用Rsync協(xié)議自動(dòng)同步到多臺(tái)服務(wù)器。code.google/p/lsyncd/ lsyncd /data0/htdocs/hu.xoyo/data/ :hu_data/ :hu_data/ :hu_data/ 1

16、:hu_data/大量文件的多服務(wù)器自動(dòng)同步大量文件的多服務(wù)器自動(dòng)同步 使用Linux 2.6內(nèi)核的inotify監(jiān)控Linux文件系統(tǒng)事件。 修改可監(jiān)控的最大目錄數(shù)量 echo 50000000 /proc/sys/fs/inotify/max_user_watches 金山逍遙網(wǎng)開(kāi)發(fā)的sersync文件自動(dòng)同步程序,適合大量文件的自動(dòng)同步,并可以在文件同步完成后,自動(dòng)調(diào)用CDN緩存刷新接口,刷新發(fā)生修改、刪除的文件的訪問(wèn)URL。 用于:金山游戲官網(wǎng)的CMS發(fā)布系統(tǒng)。Nginx的的Web緩存服務(wù)緩存服務(wù)Nginx的緩存功能的緩存功能 Nginx從0.7.48版本開(kāi)始,支持

17、了類(lèi)似Squid的緩存功能; 緩存把URL及相關(guān)組合當(dāng)作Key,用md5編碼哈希后保存; Nginx的Web緩存服務(wù)只能為指定URL或狀態(tài)碼設(shè)置過(guò)期時(shí)間,不支持類(lèi)似Squid的PURGE指令,手動(dòng)清除指定緩存頁(yè)面; 采用MMAP實(shí)現(xiàn),設(shè)置的緩存區(qū)大小不能超過(guò)物理內(nèi)存+SWAP的值。反向代理中的反向代理中的Nginx.conf緩存配置緩存配置#設(shè)置Web緩存區(qū)名稱為cache_one,緩存空間大小為2000MB,1天清理一次緩存,單個(gè)文件超過(guò)5m不緩存。proxy_cache_path /data0/proxy_cache_path levels=1:2 keys_zone=cache_one:

18、2000m inactive=1d max_size=5m;#注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分區(qū)proxy_temp_path /data0/proxy_temp_path;upstream my_server_pool server :80 weight=1 max_fails=2 fail_timeout=30s; server :80 weight=1 max_fails=2 fail_timeout=30s;反向代理中的反向代理中的Nginx.conf緩存配置緩存配置server li

19、sten 80; server_name my.domain; location / proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass my_server_pool; location .*.(gif|jpg|jpeg|png|bmp|swf|js|css)$ #對(duì)圖片、JS、CSS進(jìn)行緩存,使用Web緩存區(qū)cache_one proxy_cache cache_one;反向代理中的反向代理中的Nginx.conf緩存配置緩存配置 #對(duì)不同HTTP狀態(tài)碼緩存設(shè)置不同的緩存

20、時(shí)間 proxy_cache_valid 200 10m; proxy_cache_valid 304 3m; proxy_cache_valid 301 302 1h; proxy_cache_valid any 1m; #設(shè)置Web緩存的Key值,Nginx根據(jù)Key值md5哈希存儲(chǔ)緩存,這里根據(jù)“域名、URI、客戶端請(qǐng)求Header頭中的If-Modified-Since信息組合成Key。 proxy_cache_key $host$request_uri$http_if_modified_since; #反向代理,訪問(wèn)后端內(nèi)容源服務(wù)器 proxy_set_header Host $ho

21、st; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass my_server_pool; access_log off;Nginx緩存功能的優(yōu)點(diǎn)緩存功能的優(yōu)點(diǎn) 對(duì)于修改實(shí)時(shí)性要求不高的圖片、Flash、CSS樣式文件、JavaScript文件,可以在Nginx反向代理(負(fù)載均衡)服務(wù)器上設(shè)置緩存,不用每次請(qǐng)求都轉(zhuǎn)發(fā)到后端Web服務(wù)器,加快了響應(yīng)速度。 減少了Nginx與后端Web服務(wù)器的連接數(shù),提高了Nginx處理性能。Nginx的的Rewrite重寫(xiě)規(guī)則重寫(xiě)規(guī)則Nginx Rewrite規(guī)則相關(guān)指令規(guī)則相關(guān)指令Nginx Re

22、write規(guī)則相關(guān)指令有if、rewrite、set、return、break等,其中rewrite是最關(guān)鍵的指令。一個(gè)簡(jiǎn)單的Nginx Rewrite規(guī)則語(yǔ)法如下:rewrite /b/(.*).html /play.php?video=$1 break;如果加上if語(yǔ)句,示例如下:if (!-f $request_filename) rewrite /img/(.*)$ /site/$host/images/$1 last;Nginx與與Apache的的Rewrite規(guī)則實(shí)例對(duì)比規(guī)則實(shí)例對(duì)比簡(jiǎn)單的Nginx和Apache 重寫(xiě)規(guī)則區(qū)別不大,基本上能夠完全兼容。例如:Apache Rewri

23、te 規(guī)則:RewriteRule /(mianshi|xianjing)/$ /zl/index.php?name=$1 LRewriteRule /ceshi/$ /zl/ceshi.php LRewriteRule /(mianshi)_(a-zA-Z+)/$ /zl/index.php?name=$1_$2 LRewriteRule /pingce(0-9*)/$ /zl/pingce.php?id=$1 LNginx Rewrite 規(guī)則:rewrite /(mianshi|xianjing)/$ /zl/index.php?name=$1 last;rewrite /ceshi/$

24、 /zl/ceshi.php last;rewrite /(mianshi)_(a-zA-Z+)/$ /zl/index.php?name=$1_$2 last;rewrite /pingce(0-9*)/$ /zl/pingce.php?id=$1 last;由以上示例可以看出,Apache的Rewrite規(guī)則改為Nginx的Rewrite規(guī)則,其實(shí)很簡(jiǎn)單:Apache的RewriteRule指令換成Nginx的rewrite指令,Apache的L標(biāo)記換成Nginx的last標(biāo)記,中間的內(nèi)容不變。Nginx與與Apache的的Rewrite規(guī)則實(shí)例對(duì)比規(guī)則實(shí)例對(duì)比如果Apache的Rewri

25、te規(guī)則改為Nginx的Rewrite規(guī)則后,使用nginx -t命令檢查發(fā)現(xiàn)nginx.conf配置文件有語(yǔ)法錯(cuò)誤,那么可以嘗試給條件加上引號(hào)。例如一下的Nginx Rewrite規(guī)則會(huì)報(bào)語(yǔ)法錯(cuò)誤:rewrite /(0-95).html$ /x.jsp?id=$1 last;加上引號(hào)就正確了:rewrite /(0-95).html$ /x.jsp?id=$1 last;Nginx與與Apache的的Rewrite規(guī)則實(shí)例對(duì)比規(guī)則實(shí)例對(duì)比Apache與Nginx的Rewrite規(guī)則在URL跳轉(zhuǎn)時(shí)有細(xì)微的區(qū)別:Apache Rewrite 規(guī)則:RewriteRule /html/tagin

26、dex/(a-zA-Z+)/.*$ /$1/ R=301,LNginx Rewrite 規(guī)則:rewrite /html/tagindex/(a-zA-Z+)/.*$ $host/$1/ permanent;以上示例中,我們注意到,Nginx Rewrite 規(guī)則的置換串中增加了“$host”,這是在Nginx中要求的。Nginx與與Apache的的Rewrite規(guī)則實(shí)例對(duì)比規(guī)則實(shí)例對(duì)比另外,Apache與Nginx的Rewrite規(guī)則在變量名稱方面也有區(qū)別,例如:Apache Rewrite 規(guī)則:RewriteRule /user/login/$ /user/login.php?login

27、=1&forward=%HTTP_HOST LNginx Rewrite 規(guī)則:rewrite /user/login/$ /user/login.php?login=1&forward=$host last;Nginx與與Apache的的Rewrite規(guī)則實(shí)例對(duì)比規(guī)則實(shí)例對(duì)比Apache與Nginx Rewrite 規(guī)則的一些功能相同或類(lèi)似的指令、標(biāo)記對(duì)應(yīng)關(guān)系:Apache的RewriteCond指令對(duì)應(yīng)Nginx的if指令;Apache的RewriteRule指令對(duì)應(yīng)Nginx的rewrite指令;Apache的R標(biāo)記對(duì)應(yīng)Nginx的redirect標(biāo)記;Apache的P標(biāo)

28、記對(duì)應(yīng)Nginx的last標(biāo)記;Apache的R,L標(biāo)記對(duì)應(yīng)Nginx的redirect標(biāo)記;Apache的P,L標(biāo)記對(duì)應(yīng)Nginx的last標(biāo)記;Apache的PT,L標(biāo)記對(duì)應(yīng)Nginx的last標(biāo)記;Nginx與與Apache的多條件的多條件Rewrite示例示例允許指定的域名訪問(wèn)本站,其他域名一律跳轉(zhuǎn)到允許指定的域名訪問(wèn)本站,其他域名一律跳轉(zhuǎn)到aaaApache Rewrite 規(guī)則:規(guī)則:RewriteCond %HTTP_HOST (.*?).domain$RewriteCond %HTTP_HOST !qita.domain$RewriteCond %DOCUMENT_ROOT/m

29、arket/%1/index.htm -fRewriteRule /wu/$ /market/%1/index.htm LNginx的的if指令不支持嵌套,也不支持指令不支持嵌套,也不支持AND、OR等多條件匹配,相比于等多條件匹配,相比于Apache的的RewriteCond,顯得麻煩一些,但是,我們可以通過(guò)下一頁(yè),顯得麻煩一些,但是,我們可以通過(guò)下一頁(yè)的的Nginx配置寫(xiě)法來(lái)實(shí)現(xiàn)這個(gè)示例:配置寫(xiě)法來(lái)實(shí)現(xiàn)這個(gè)示例:Nginx與與Apache的多條件的多條件Rewrite示例示例Nginx Rewrite 規(guī)則:規(guī)則:if ($host * (.*?).domain$)set $var_wup

30、in_city $1;set $var_wupin 1;if ($host * qita.domain$)set $var_wupin 0;if (!-f $document_root/market/$var_wupin_city/index.htm)set $var_wupin 0;if ($var_wupin 1)rewrite /wu/$ /market/$var_wupin_city/index.htm last;Nginx與金山逍遙與金山逍遙TCSQL的配合的配合一般數(shù)據(jù)庫(kù)的緩存類(lèi)型一般數(shù)據(jù)庫(kù)的緩存類(lèi)型 一般數(shù)據(jù)庫(kù)緩存分為四種:一般數(shù)據(jù)庫(kù)緩存分為四種: 1、Key/Value單個(gè)對(duì)象緩存,如單個(gè)對(duì)象緩存,如Memcached 2、列表緩存,就像論壇里帖子的列表、列表緩存,就像論壇里帖子的列表 3、記錄條數(shù)的緩存,比如一個(gè)論壇板塊里、記錄條數(shù)的緩存,比如一個(gè)論壇板塊里有多少個(gè)帖子,這樣才方便實(shí)現(xiàn)分頁(yè)。有多少個(gè)帖子,這樣才方便實(shí)現(xiàn)分頁(yè)。 4、復(fù)雜一點(diǎn)的、復(fù)雜一點(diǎn)的group,sum,count查詢,查詢,比如一個(gè)論壇里按點(diǎn)擊數(shù)排名的最比如一個(gè)論壇里按點(diǎn)擊數(shù)排名的最HOT的帖的帖子列表。子列表。 第一種比較好實(shí)現(xiàn),后面三種比較麻煩。第一種比較好實(shí)現(xiàn),后面三種比較麻煩。什么是什么是TCSQL實(shí)時(shí)列表緩存數(shù)據(jù)庫(kù)?實(shí)時(shí)列表緩存數(shù)據(jù)庫(kù)? TCSQL是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論