版權(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)逍遙網(wǎng)張宴張宴2009.102009.10什么是什么是Nginx? Nginx (“engine x”) Nginx (“engine x”) 是俄羅斯人是俄羅斯人Igor Igor Sysoev(Sysoev(塞索耶夫塞索耶夫) )編寫的一款高性能的編寫的一款高性能的 HTTP HTTP 和和反向代理服務(wù)器。反向代理服務(wù)器。 Nginx Nginx 已經(jīng)在俄羅斯最大的門戶網(wǎng)站已經(jīng)在俄羅斯最大的門戶網(wǎng)站 Rambler MediaRambler Media(www.rambler
2、.ruwww.rambler.ru)上運(yùn)行了)上運(yùn)行了4 4年年時(shí)間,同時(shí)俄羅斯超過(guò)時(shí)間,同時(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ā)連接:、高
3、并發(fā)連接:官方測(cè)試能夠支撐官方測(cè)試能夠支撐5 5萬(wàn)并發(fā)連萬(wàn)并發(fā)連接,在實(shí)際生產(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)單:、配置文件非常簡(jiǎn)單:風(fēng)格跟程序一樣通俗風(fēng)格跟程序一樣通俗易懂。易懂。 4 4、成本低廉:、成本低廉:NginxNginx為開(kāi)源軟件,可以免費(fèi)使為開(kāi)源軟件,可以免費(fèi)使用。而購(gòu)買用。而購(gòu)買F5 BIG-
4、IPF5 BIG-IP、NetScalerNetScaler等硬件負(fù)載等硬件負(fù)載均衡交換機(jī)則需要十多萬(wàn)至幾十萬(wàn)人民幣。均衡交換機(jī)則需要十多萬(wàn)至幾十萬(wàn)人民幣。Nginx的優(yōu)點(diǎn)的優(yōu)點(diǎn) 5 5、支持、支持RewriteRewrite重寫規(guī)則:重寫規(guī)則:能夠根據(jù)域名、能夠根據(jù)域名、URLURL的不同,將的不同,將 HTTP HTTP 請(qǐng)求分到不同的后端請(qǐng)求分到不同的后端服務(wù)器群組。服務(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)。
5、 7 7、節(jié)省帶寬:、節(jié)省帶寬:支持支持 GZIP GZIP 壓縮,可以添加壓縮,可以添加瀏覽器本地緩存的瀏覽器本地緩存的 Header Header 頭。頭。 8 8、穩(wěn)定性高:、穩(wěn)定性高:用于反向代理,宕機(jī)的概率用于反向代理,宕機(jī)的概率微乎其微。微乎其微。單臺(tái)單臺(tái)Nginx支撐了高達(dá)支撐了高達(dá)2.8萬(wàn)的活動(dòng)并發(fā)連接數(shù)萬(wàn)的活動(dòng)并發(fā)連接數(shù)2009-09-032009-09-03 14:3014:30,金山游戲,金山游戲劍俠情緣網(wǎng)絡(luò)版劍俠情緣網(wǎng)絡(luò)版3 3臨時(shí)維臨時(shí)維護(hù)護(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ù)器
6、集群,每臺(tái)服務(wù)器的服務(wù)器集群,每臺(tái)服務(wù)器的NginxNginx活動(dòng)連接數(shù)達(dá)到活動(dòng)連接數(shù)達(dá)到2.82.8萬(wàn),這是本人遇到的萬(wàn),這是本人遇到的NginxNginx生產(chǎn)環(huán)境最高并發(fā)值。生產(chǎn)環(huán)境最高并發(fā)值。Nginx的主要應(yīng)用類別的主要應(yīng)用類別 1 1、使用、使用 Nginx Nginx 結(jié)合結(jié)合FastCGIFastCGI運(yùn)行運(yùn)行 PHPPHP、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、N
7、ginxNginx與其他新技術(shù)的結(jié)合應(yīng)用與其他新技術(shù)的結(jié)合應(yīng)用Nginx在金山逍遙網(wǎng)中的應(yīng)用案例在金山逍遙網(wǎng)中的應(yīng)用案例 金山逍遙網(wǎng)()是金山游戲官方網(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
8、 fail_timeout=30s; server 6:80 weight=1 max_fails=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
9、_name *; location / proxy_pass http:/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 http:/bbs_server_pool; 用于指定反向代理的服務(wù)器池。 proxy_set_header Host $host; 當(dāng)后端Web服務(wù)器上也配置有多個(gè)虛擬主機(jī)時(shí),需要用該Header來(lái)區(qū)分反向代理哪個(gè)主機(jī)名。 proxy_
10、set_header X-Forwarded-For $remote_addr; 如果后端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
11、 broadcast 55 netmask 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
12、/route add -host dev eth0:ha2 /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)
13、服務(wù)器上的檢測(cè)程序發(fā)現(xiàn)自身的Nginx無(wú)法訪問(wèn)時(shí),停止綁定虛擬IP 服務(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ù)
14、載均衡URL分發(fā)分發(fā)硬件、軟件七層負(fù)載均衡對(duì)比:NetScaler與Nginx硬件、軟件七層負(fù)載均衡對(duì)比:NetScaler與Nginx根據(jù)不同的根據(jù)不同的URL轉(zhuǎn)發(fā)到不同服務(wù)器轉(zhuǎn)發(fā)到不同服務(wù)器server listen 80; server_name ; location /admincp.php proxy_pass 1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; location / proxy_pass http:/php_server_poo
15、l; proxy_set_header Host $host; proxy_set_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ù)器。http:/ lsyncd /data0/htdocs/ :hu_data/ :hu_data/ 192.168.5.
16、3:hu_data/ :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
17、.7.48版本開(kāi)始,支持了類似Squid的緩存功能; 緩存把URL及相關(guān)組合當(dāng)作Key,用md5編碼哈希后保存; Nginx的Web緩存服務(wù)只能為指定URL或狀態(tài)碼設(shè)置過(guò)期時(shí)間,不支持類似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_zon
18、e=cache_one: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緩存配置緩
19、存配置server listen 80; server_name ; location / proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http:/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)碼
20、緩存設(shè)置不同的緩存時(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_heade
21、r Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http:/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重寫規(guī)則重寫規(guī)則Nginx Rewrite規(guī)則相關(guān)
22、指令規(guī)則相關(guān)指令Nginx Rewrite規(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 重寫規(guī)則區(qū)別不大,基本上能夠完全兼容
23、。例如:Apache Rewrite 規(guī)則:規(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ī)則:規(guī)則:rewrite /(mianshi|xianjing)/$ /zl/index.php?name=$1
24、 last;rewrite /ceshi/$ /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í)例
25、對(duì)比規(guī)則實(shí)例對(duì)比如果Apache的Rewrite規(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ī)則:規(guī)
26、則:RewriteRule /html/tagindex/(a-zA-Z+)/.*$ /$1/ R=301,LNginx Rewrite 規(guī)則:規(guī)則:rewrite /html/tagindex/(a-zA-Z+)/.*$ http:/$host/$1/ permanent;以上示例中,我們注意到,Nginx Rewrite 規(guī)則的置換串中增加了“http:/$host”,這是在Nginx中要求的。Nginx與與Apache的的Rewrite規(guī)則實(shí)例對(duì)比規(guī)則實(shí)例對(duì)比另外,Apache與Nginx的Rewrite規(guī)則在變量名稱方面也有區(qū)別,例如:Apache Rewrite 規(guī)則:規(guī)則:Rewr
27、iteRule /user/login/$ /user/login.php?login=1&forward=http:/%HTTP_HOST LNginx Rewrite 規(guī)則:規(guī)則:rewrite /user/login/$ /user/login.php?login=1&forward=http:/$host last;Nginx與與Apache的的Rewrite規(guī)則實(shí)例對(duì)比規(guī)則實(shí)例對(duì)比Apache與Nginx Rewrite 規(guī)則的一些功能相同或類似的指令、標(biāo)記對(duì)應(yīng)關(guān)系:Apache的RewriteCond指令對(duì)應(yīng)Nginx的if指令;Apache的RewriteRule
28、指令對(duì)應(yīng)Nginx的rewrite指令;Apache的R標(biāo)記對(duì)應(yīng)Nginx的redirect標(biāo)記;Apache的P標(biāo)記對(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)到http:/Apache Rewrite 規(guī)則:規(guī)則:RewriteCond %HTTP_HOST (.*?)$RewriteCon
29、d %HTTP_HOST !$RewriteCond %DOCUMENT_ROOT/market/%1/index.htm -fRewriteRule /wu/$ /market/%1/index.htm LNginx的if指令不支持嵌套,也不支持AND、OR等多條件匹配,相比于Apache的RewriteCond,顯得麻煩一些,但是,我們可以通過(guò)下一頁(yè)的Nginx配置寫法來(lái)實(shí)現(xiàn)這個(gè)示例:Nginx與與Apache的多條件的多條件Rewrite示例示例Nginx Rewrite 規(guī)則:規(guī)則:if ($host * (.*?)$)set $var_wupin_city $1;set $var_w
30、upin 1;if ($host * $)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ù)的緩存類型一般數(shù)據(jù)庫(kù)的緩存類型 一般數(shù)據(jù)庫(kù)緩存分為四種:一般數(shù)據(jù)庫(kù)緩存分為四種: 1、Key/Value單個(gè)對(duì)象緩存單個(gè)對(duì)象緩存,如Memcached 2、列表緩存列表緩存,就像論壇里帖子的列表 3、記錄條數(shù)的緩存記錄條數(shù)的緩存,比如一個(gè)論壇板塊里有多少個(gè)帖子,這樣才方便實(shí)現(xiàn)分頁(yè)。 4、復(fù)雜一點(diǎn)的復(fù)雜一點(diǎn)的group,sum,count查詢查詢,比如一個(gè)論壇里按點(diǎn)擊數(shù)排名的最HOT的帖子列表。 第一種比較好實(shí)現(xiàn),后面三種比較麻煩。第一種比較好實(shí)現(xiàn),后面三種比較麻煩。什么是什么是TCSQL實(shí)時(shí)列表緩存數(shù)據(jù)庫(kù)?實(shí)時(shí)列表緩存數(shù)據(jù)庫(kù)? TCSQL是金山逍遙網(wǎng)技術(shù)支持部平臺(tái)組
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)合同付款管理制度
- 補(bǔ)充合同約定模版
- 保險(xiǎn)合同內(nèi)部審計(jì)管理辦法
- 山西省2024八年級(jí)物理上冊(cè)第六章質(zhì)量與密度中考聚焦課件新版新人教版
- 深圳市中薈高級(jí)中學(xué)2024-2025學(xué)年高三上學(xué)期期中考試數(shù)學(xué)參考答案
- 山東省濟(jì)寧市2024-2025學(xué)年高三上學(xué)期期中考試 政治 (含答案)
- 吉林省長(zhǎng)春市農(nóng)安縣2024-2025學(xué)年七年級(jí)上學(xué)期10月期中考試英語(yǔ)試卷(含解析)
- 2025新課改-高中物理-選修第1冊(cè)(21講)20 B實(shí)驗(yàn):用雙縫干涉測(cè)量光的波長(zhǎng) 中檔版含答案
- 2024-2025學(xué)年南通市海安市初二年級(jí)第一學(xué)期八上物理期中試卷
- 異步發(fā)電機(jī)相關(guān)行業(yè)投資方案
- 學(xué)校公眾號(hào)運(yùn)營(yíng)事跡材料
- 《鋰電池基本知識(shí)培訓(xùn)》課件
- NFPA 90A 2018 通風(fēng)空調(diào)系統(tǒng)防火要求(中文翻譯)
- 胃腸鏡健康宣教胃腸鏡檢查注意事項(xiàng)適應(yīng)癥與禁忌癥宣傳課件
- 臺(tái)球廳運(yùn)營(yíng)方案策劃書(shū)(2篇)
- 高中地理大單元教學(xué)探索+全系統(tǒng)大單元整合
- 會(huì)計(jì)學(xué)職業(yè)生涯發(fā)展報(bào)告
- JT-T-280-2004路面標(biāo)線涂料
- 胸痛中心數(shù)據(jù)庫(kù)培訓(xùn)
- 【試卷】五年級(jí)上冊(cè)美術(shù)學(xué)科素養(yǎng)檢測(cè)卷
- MOOC 機(jī)械之美-迷人的工程機(jī)械雙語(yǔ)-江西理工大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論