redis使用及運維_第1頁
redis使用及運維_第2頁
redis使用及運維_第3頁
redis使用及運維_第4頁
redis使用及運維_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、RedisRedis使用及運維使用及運維By 薛長俊2013-8介紹介紹數(shù)據(jù)類型數(shù)據(jù)類型持久化持久化RedisRedis使用使用主從復(fù)制主從復(fù)制Redis介紹 簡介Redis 是一個開源、支持網(wǎng)絡(luò)、基于內(nèi)存、鍵值對存儲數(shù)據(jù)庫,使用 ANSI C 編寫。其開發(fā)由 VMware 主持。目前Redis已是最流行的鍵值對存儲數(shù)據(jù)庫之一。 與memcached比較Redis不僅僅支持簡單的k/v類型的數(shù)據(jù),同時還提供list,set,hash等數(shù)據(jù)結(jié)構(gòu)的存儲;Redis支持?jǐn)?shù)據(jù)的主從復(fù)制,即master-slave模式的數(shù)據(jù)備份;Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存到磁盤中,重啟的時候可以

2、再次加載原有數(shù)據(jù);Redis單個value的最大限制是1GB, memcached只能保存1MB的數(shù)據(jù)。Redis特性 速度快Redis使用C編寫,而且將所有數(shù)據(jù)加載到內(nèi)存中,所以速度非???。 數(shù)據(jù)結(jié)構(gòu)可以將Redis看做“數(shù)據(jù)結(jié)構(gòu)服務(wù)器”。目前,Redis支持5種數(shù)據(jù)結(jié)構(gòu)。 持久化支持?jǐn)?shù)據(jù)持久化存儲。 主-從復(fù)制Redis支持簡單而快速的主-從復(fù)制。 支持過期時間支持緩存過期自動失效。 支持事務(wù)操作允許讓一組命令進(jìn)入隊列一次性執(zhí)行,在執(zhí)行的過程中不穿插其它命令。 PUB/SUB支持發(fā)布訂閱。Redis特性 Redis不足支持事務(wù),將多個命令打包執(zhí)行,但是任一命令有語法錯誤或key-value

3、數(shù)據(jù)類型錯誤照常運行;數(shù)據(jù)結(jié)構(gòu)不支持嵌套其他數(shù)據(jù)結(jié)構(gòu),比如類型為list的value不能再嵌套一個list。單線程模型處理所客戶請求的命令。對高并發(fā)支持不是很好主從做冗余備份時,主機(jī)迭機(jī)后,不能從多個從機(jī)中自動選舉出主機(jī)當(dāng)Dump.rdb文件中沒有日志文件appendonly.aof最新數(shù)據(jù)時,不能從日志文件的最新命令的當(dāng)前位置處增量更新dump.rdb數(shù)據(jù)文件。Redis特性 string字符串。 list字符串列表。 set無序不重復(fù)的字符串集合。 zset有序不重復(fù)的字符串集合。 hashs鍵、值都為字符串的哈希表。Redis數(shù)據(jù)類型 主鍵(key)可以用任何二進(jìn)制序列作為key值,從形

4、如”foo”的簡單字符串到一個JPEG文件的內(nèi)容都可以??兆址彩怯行ey值。 關(guān)于key的幾條規(guī)則可以用任何二進(jìn)制序列作為key值。不用太長的鍵值。不僅消耗內(nèi)存,而且在數(shù)據(jù)查找中計算成本很高。 太短的鍵值通常也不是好主意。如果你要用“u:1000:pwd”來代替“user:1000:password”,這沒有什么問題,但后者更易閱讀,并且由此增加的空間消耗相對于key object和value object本身來說很小。最好堅持一種模式。例如:“object-type:id:field”就是個不錯的注意,像這樣“user:1000:password”。Redis數(shù)據(jù)類型 key 相關(guān)命令

5、exits key,測試指定key是否存在,返回1表示存在,0不存在;del key1 key2 .keyN,刪除給定key,返回刪除key的數(shù)目,0表示給定key都不存在;type key,返回給定key的value值類型。返回 none 表示不存在key,string字符串類型,list鏈表類型,set無序集合類型 ;keys pattern,返回匹配指定模式的所有key;random key,返回從當(dāng)前數(shù)據(jù)庫中隨機(jī)選擇的一個key,如果數(shù)據(jù)庫是空的,返回空串 ;rename oldkey newkey,原子的重命名一個key,如果newkey存在,將會被覆蓋,返回1表示成功,0失敗??赡?/p>

6、是oldkey不存在或者和newkey相同;dbsize,返回當(dāng)前數(shù)據(jù)庫的key數(shù)量;expire key seconds,為key指定過期時間,單位是秒。返回1成功,0表示key已經(jīng)設(shè)置過過期時間或者不存在;Redis數(shù)據(jù)類型 key 相關(guān)命令select db-index,通過索引選擇數(shù)據(jù)庫,默認(rèn)連接的數(shù)據(jù)庫所有是0,默認(rèn)數(shù)據(jù)庫數(shù)是16個。返回1表示成功,0失敗;move key db-index,將key從當(dāng)前數(shù)據(jù)庫移動到指定數(shù)據(jù)庫。返回1成功。0 如果key不存在,或者已經(jīng)在指定數(shù)據(jù)庫中;flushdb,刪除當(dāng)前數(shù)據(jù)庫中所有key,此方法不會失敗。慎用。flushall,刪除所有數(shù)據(jù)庫

7、中的所有key,此方法不會失敗。慎用。Redis數(shù)據(jù)類型 string類型-特點string是redis最基本的類型,而且string類型是二進(jìn)制安全的。意思是redis的string可以包含任何數(shù)據(jù)。比如jpg圖片或者序列化的對象;從內(nèi)部實現(xiàn)來看其實string可以看作byte數(shù)組,最大上限是1G字節(jié);string類型的值也可視為integer,從而可以讓“incr”命令族操作;在list、set和zset中包含的獨立的元素類型都是string類型。 string類型-應(yīng)用場景string是最常用的一種數(shù)據(jù)類型,普通的key/value存儲。如果你只用這種類型,Redis就像一個可以持久化的

8、memcached服務(wù)器。當(dāng)然redis對string類型的操作比memcached要多。Redis數(shù)據(jù)類型 string常見命令set key value,設(shè)置key對應(yīng)的值為string類型的value,返回1表示成功,0失敗setnx key value,同上,如果key已經(jīng)存在,返回0 。nx 是not exist的意思get key,獲取key對應(yīng)的string值,如果key不存在返回nilgetset key value,原子的設(shè)置key的值,并返回key的舊值。如果key不存在返回nilmget key1 key2 . keyN,一次獲取多個key的值,如果對應(yīng)key不存在,則對

9、應(yīng)返回nilmset key1 value1 . keyN valueN,一次設(shè)置多個key的值,成功返回1表示所有的值都設(shè)置了,失敗返回0表示沒有任何值被設(shè)置msetnx key1 value1 . keyN valueN,同上,但是不會覆蓋已經(jīng)存在的keyRedis數(shù)據(jù)類型 string常見命令incr key,對key的值做加加操作,并返回新的值。注意incr一個不是int的value會返回錯誤,incr一個不存在的key,則設(shè)置key為1decr key,同上,但是做的是減操作,decr一個不存在key,則設(shè)置key為-1incrby key integer,同incr,加指定值 ,k

10、ey不存在時候會設(shè)置key,并認(rèn)為原來的value是 0decrby key integer,同decr,減指定值。decrby完全是為了可讀性,我們完全可以通過incrby一個負(fù)值來實現(xiàn)同樣效果,反之一樣append key value,給指定key的字符串值追加value,返回新字符串值的長度Redis數(shù)據(jù)類型 list類型-特點Redis的list類型其實就是一個每個子元素都是string類型的雙向鏈表。這意味著即使在一個list中有數(shù)百萬個元素,在頭部或尾部添加一個元素的操作,其時間復(fù)雜度也是常數(shù)級別的;可以通過push,pop操作從鏈表的頭部或者尾部添加刪除元素。這使得list既可以

11、用作棧,也可以用作隊列;list的最大長度是232-1個元素。 list類型-應(yīng)用場景Redis list應(yīng)用場景非常多,也是Redis最重要的數(shù)據(jù)結(jié)構(gòu)之一,比如微博的關(guān)注列表,粉絲列表等都可以用Redis的list結(jié)構(gòu)來實現(xiàn);博客實現(xiàn)中,可為每篇日志設(shè)置一個list,在該list中推入進(jìn)博客評論;也可以使用redis list實現(xiàn)消息隊列。Redis數(shù)據(jù)類型 list常見命令lpush key string,在key對應(yīng)list的頭部添加字符串元素,返回1表示成功,0表示key存在且不是list類型;rpush key string,同上,在尾部添加;llen key,返回key對應(yīng)list

12、的長度,key不存在返回0,如果key對應(yīng)類型不是list返回錯誤;lrange key start end,返回指定區(qū)間內(nèi)的元素,下標(biāo)從0開始,負(fù)值表示從后面計算,-1表示倒數(shù)第一個元素 ,key不存在返回空列表;ltrim key start end ,截取list,保留指定區(qū)間內(nèi)元素,成功返回1,key不存在返回錯誤;lset key index value,設(shè)置list中指定下標(biāo)的元素值,成功返回1,key或者下標(biāo)不存在返回錯誤;lrem key count value,從key對應(yīng)list中刪除count個和value相同的元素。count為0時候刪除全部;Redis數(shù)據(jù)類型 lis

13、t常見命令lpop key,從list的頭部刪除元素,并返回刪除元素。如果key對應(yīng)list不存在或者是空返回nil,如果key對應(yīng)值不是list返回錯誤;rpop,同上,但是從尾部刪除;blpop key1.keyN timeout,從左到右掃描返回對第一個非空list進(jìn)行l(wèi)pop操作并返回,比如blpop list1 list2 list3 0 ,如果list不存在list2,list3都是非空則對list2做lpop并返回從list2中刪除的元素。如果所有的list都是空或不存在,則會阻塞timeout秒,timeout為0表示一直阻塞。當(dāng)阻塞時,如果有client對key1.keyN中

14、的任意key進(jìn)行push操作,則第一在這個key上被阻塞的client會立即返回。如果超時發(fā)生,則返回nil。有點像unix的select或者poll;brpop,同blpop,一個是從頭部刪除一個是從尾部刪除;rpoplpush srckey destkey,從srckey對應(yīng)list的尾部移除元素并添加到destkey對應(yīng)list的頭部,最后返回被移除的元素值,整個操作是原子的.如果srckey是空或者不存在返回nil。Redis數(shù)據(jù)類型 set類型-特點set就是redis string的無序集合,不允許有重復(fù)元素;set的最大元素數(shù)是232-1;對set的操作還有交集、并集、差集等。

15、set類型-應(yīng)用場景set對外提供的功能與list類似,當(dāng)你需要存儲一個列表數(shù)據(jù),又不希望出現(xiàn)重復(fù)數(shù)據(jù)時,set 是一個很好的選擇,并且set提供了判斷某個成員是否在一個set集合內(nèi)的接口,這個也是list所不能提供的??梢杂肦edis set結(jié)構(gòu)實現(xiàn)SNS中的好友推薦和blog的tag功能。Redis數(shù)據(jù)類型 set常見命令sadd key member,添加一個string元素到,key對應(yīng)的set集合中,成功返回1,如果元素以及在集合中返回0,key對應(yīng)的set不存在返回錯誤;srem key member,從key對應(yīng)set中移除給定元素,成功返回1,如果member在集合中不存在或者

16、key不存在返回0,如果key對應(yīng)的不是set類型的值返回錯誤;spop key,刪除并返回key對應(yīng)set中隨機(jī)的一個元素, set是空或者key不存在返回nil;srandmember key,同spop,隨機(jī)取set中的一個元素,但是不刪除元素;smove srckey dstkey member,從srckey對應(yīng)set中移除member并添加到dstkey對應(yīng)set中,整個操作是原子的;scard key,返回set的元素個數(shù),如果set是空或者key不存在返回0;Redis數(shù)據(jù)類型 set常見命令sismember key member,判斷member是否在set中,存在返回1;

17、sinter key1 key2.keyN,返回所有給定key的交集;sinterstore dstkey key1.keyN,同sinter,但是會同時將交集存到dstkey下;sunion key1 key2.keyN,返回所有給定key的并集;sunionstore dstkey key1.keyN,同sunion,并同時保存并集到dstkey下;sdiff key1 key2.keyN,返回key1與所有key的不同元素;sdiffstore dstkey key1.keyN,同sdiff,并同時保存差集到dstkey下;smembers key,返回key對應(yīng)set的所有元素,結(jié)果是

18、無序的。Redis數(shù)據(jù)類型 sorted set類型-特點sorted set也是string類型元素的集合,不同的是每個元素都會關(guān)聯(lián)一個double類型的score。有序集合是通過一個dual-ported 數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,它包含一個精簡的有序列表和一個hash table,因此添加一個元素的時間復(fù)雜度是O(log(N);sorted set的最大元素數(shù)是232-1;對于已經(jīng)有序的zset,仍然可以使用sort命令,通過指定asc|desc參數(shù)對其進(jìn)行排序(但這次服務(wù)器要耗費CPU了); sorted set類型-應(yīng)用場景當(dāng)你需要一個有序的并且不重復(fù)的集合列表,那么可以選擇sorted se

19、t數(shù)據(jù)結(jié)構(gòu);使用sorted set甚至可以構(gòu)建有優(yōu)先級的隊列系統(tǒng);排行榜應(yīng)用,取TOP N操作。Redis數(shù)據(jù)類型 sorted set常見命令zadd key score member,添加元素到集合,元素在集合中存在則更新對應(yīng)score;zrem key member,刪除指定元素,1表示成功,如果元素不存在返回0;zincrby key incr member,增加對應(yīng)member的score值,然后移動元素并保持skip list保持有序。返回更新后的score值;zrank key member,返回指定元素在集合中的排名(下標(biāo)),集合中元素是按score從小到大排序的;zrevr

20、ank key member,同上,但是集合中元素是按score從大到小排序;zrange key start end,從集合中去指定區(qū)間的元素。返回的是有序結(jié)果;zrevrange key start end,同上,返回結(jié)果是按score逆序的;Redis數(shù)據(jù)類型 sorted set常見命令zrangebyscore key min max,返回集合中score在給定區(qū)間的元素;zcount key min max,返回集合中score在給定區(qū)間的數(shù)量;zcard key,返回集合中元素個數(shù);zscore key element,返回給定元素對應(yīng)的score;zremrangebyrank

21、 key min max,刪除集合中排名在給定區(qū)間的元素;zremrangebyscore key min max,刪除集合中score在給定區(qū)間的元素;Redis數(shù)據(jù)類型 hash類型-特點Redis hash是一個string類型的field和value的映射表。它的添加,刪除操作都是O(1) 。hash特別適合用于存儲對象;將一個對象存儲在hash類型中會占用更少的內(nèi)存,并且可以更方便的存取整個對象;在Hash中可以只保存有限的幾個“域”,而不是將所有的“域”作為key,這可以節(jié)省內(nèi)存。 hash類型-應(yīng)用場景比如,我們存儲供應(yīng)商酒店價格的時候可以采取此結(jié)構(gòu),用酒店編碼作為Key,Rat

22、ePlan+RoomType作為Filed,價格信息作為Value。Redis數(shù)據(jù)類型 hash常見命令hset key field value,設(shè)置hash field為指定值,如果key不存在,則先創(chuàng)建;hget key field ,獲取指定的hash field;hmget key filed1.fieldN,獲取全部指定的hash filed;hmset key filed1 value1 . filedN valueN,同時設(shè)置hash的多個field;hincrby key field integer,將指定的hash filed 加上給定值;hexists key field,

23、測試指定field是否存在;hdel key field,刪除指定的hash field;hlen key,返回指定hash的field數(shù)量;hkeys key,返回hash的所有field;hvals key,返回hash的所有value;hgetall,返回hash的所有filed和value。Redis數(shù)據(jù)類型 排序Redis支持對list,set和sorted set元素的排序。排序命令是sort。命令格式如下:SORT key BY pattern LIMIT start count GET pattern ASC|DESC ALPHA STORE dstkey 例如:Redis數(shù)據(jù)

24、類型 持久化Redis是一個支持持久化的內(nèi)存數(shù)據(jù)庫,也就是說redis需要經(jīng)常將內(nèi)存中的數(shù)據(jù)同步到磁盤來保證持久化。redis支持兩種持久化方式,一種是 Snapshotting(快照)也是默認(rèn)方式,另一種是Append-only file(縮寫aof)的方式。Redis持久化持久化 快照(SnapShot)當(dāng)前數(shù)據(jù)的快照存成一個數(shù)據(jù)文件的持久化機(jī)制。 頻率控制( redis.conf ) 過程Redis通過fork產(chǎn)生子進(jìn)程;父進(jìn)程繼續(xù)處理client請求,子進(jìn)程負(fù)責(zé)將快照寫入臨時文件;子進(jìn)程寫完后,用臨時文件替換原來的快照文件,然后子進(jìn)程退出。Redis持久化持久化save 900 1 #

25、900秒超過1個key被修改 save 300 10 #300秒超過10個key被修改 save 60 10000 #60 秒超過一萬條被修改 優(yōu)點整個Redis數(shù)據(jù)庫將只包含一個文件,這對于文件備份而言是非常完美的;對于災(zāi)難恢復(fù),可以非常輕松的將一個單獨的文件壓縮后再轉(zhuǎn)移到其它存儲介質(zhì)上;性能最大化;相比于AOF機(jī)制,如果數(shù)據(jù)集很大,RDB的啟動效率會更高。 缺點每次快照持久化都是將內(nèi)存數(shù)據(jù)完整寫入到磁盤一次,并不 是增量的只同步臟數(shù)據(jù)。如果數(shù)據(jù)量大的話,而且寫操作比較多,必然會引起大量的磁盤io操作,可能會嚴(yán)重影響性能;另外由于快照方式是在一定間隔時間做一次的,所以如果redis意外dow

26、n掉的話,就會丟失最后一次快照后的所有修改;如果應(yīng)用不能丟失任何修改的話,可以采用aof持久化方式。Redis持久化持久化 AOF(append only file)記錄每次的讀寫操作的文件。 頻率控制( redis.conf ) 過程Redis 通過fork一個子進(jìn)程,遍歷數(shù)據(jù),寫入新臨時文件;父進(jìn)程繼續(xù)處理client請求,子進(jìn)程繼續(xù)寫臨時文件;父進(jìn)程把新寫入的AOF寫在緩沖區(qū);子進(jìn)程寫完退出,父進(jìn)程接收退出消息,將緩沖區(qū)AOF寫入臨時文件;臨時文件重命名成appendonly.aof,原來文件被覆蓋,整個過程完成。Redis持久化持久化save 900 1 #900秒超過1個key被修改

27、 save 300 10 #300秒超過10個key被修改 save 60 10000 #60 秒超過一萬條被修改 日志文件在Redis配置文件中有一個叫appendonly的選項,可以寫yes或no.這個選項就是負(fù)責(zé)是否開啟AOF日志的開關(guān);日志文件通病,如果只增不減的話,那文件將會無限長大;執(zhí)行bgrewriterof命令,先給當(dāng)前的所有數(shù)據(jù)做一個快照,然后再在這個快照的基礎(chǔ)上寫接下來的日志,刪除舊的日志。 寫入磁盤時命令 appendonly yes,啟用aof持久化方式;appendfsync always,每次收到寫命令就立即強(qiáng)制 寫入磁盤,最慢的,但是保證完全的持久化,不推薦使用;

28、appendfsync everysec,每秒鐘強(qiáng)制寫入磁盤一次,在性能和持久化方面做了很好的折中,推薦;appendfsync no,完全依賴os,性能最好,持久化沒保證。Redis持久化持久化 對比分析快照易丟失數(shù)據(jù),AOF模式較為安全,但日志重寫時磁盤io開銷大,容易導(dǎo)致服務(wù)器性能嚴(yán)重下降,并且需要足夠的物理內(nèi)存,這個比較危險,所以在高性能服務(wù)器上一般是用主從復(fù)制來進(jìn)行持久化。Redis持久化持久化 特點master可以有多個slave。除了多個slave連到相同的master外,slave也可以連接其他slave形成圖狀結(jié)構(gòu)。主從復(fù)制不會阻塞master。也就是說當(dāng)一個或多個slave

29、與master進(jìn)行初次同步數(shù)據(jù)時,master可以繼續(xù)處理client發(fā)來的請求。相反slave在初次同步數(shù)據(jù)時則會阻塞不能處理client的請求。主從復(fù)制可以用來提高系統(tǒng)的可伸縮性,我們可以用多個slave 專門用于client的讀請求,比如sort操作可以使用slave來處理。也可以用來做簡單的數(shù)據(jù)冗余??梢栽趍aster禁用數(shù)據(jù)持久化,只需要注釋掉master 配置文件中的所有save配置,然后只在slave上配置數(shù)據(jù)持久化。Redis主從復(fù)制主從復(fù)制 配置slaveof 8359,指定master的ip和端口。 問題slave從庫在連接Master主庫時,Mas

30、ter會進(jìn)行內(nèi)存快照,然后把整個快照文件發(fā)給Slave,也就是沒有象MySQL那樣有復(fù)制位置的概念,即無增量復(fù)制,這會給整個集群搭建帶來較多問題。Redis主從復(fù)制主從復(fù)制clientclientclientmastermastermasterslaveslaveslaveCONSISTENT HASH / 定容 readwrite同步數(shù)據(jù)slave 主從架構(gòu)示例Redis主從復(fù)制主從復(fù)制 主從復(fù)制過程Slave端在配置文件中添加了slave of指令,于是Slave啟動時讀取配置文件,初始狀態(tài)為REDIS_REPL_CONNECT。Slave端在定時任務(wù)serverCron(Redis內(nèi)部的

31、定時器觸發(fā)事件)中連接Master,發(fā)送sync命令,然后阻塞等待master發(fā)送回其內(nèi)存快照文件(最新版的Redis已經(jīng)不需要讓Slave阻塞)。Master端收到sync命令簡單判斷是否有正在進(jìn)行的內(nèi)存快照子進(jìn)程,沒有則立即開始內(nèi)存快照,有則等待其結(jié)束,當(dāng)快照完成后會將該文件發(fā)送給Slave端。Slave端接收Master發(fā)來的內(nèi)存快照文件,保存到本地,待接收完成后,清空內(nèi)存表,重新讀取Master發(fā)來的內(nèi)存快照文件,重建整個內(nèi)存表數(shù)據(jù)結(jié)構(gòu),并最終狀態(tài)置位為 REDIS_REPL_CONNECTED狀態(tài),Slave狀態(tài)機(jī)流轉(zhuǎn)完成。Master端在發(fā)送快照文件過程中,接收的任何會改變數(shù)據(jù)集的

32、命令都會暫時先保存在Slave網(wǎng)絡(luò)連接的發(fā)送緩存隊列里(list數(shù)據(jù)結(jié)構(gòu)),待快照完成后,依次發(fā)給Slave,之后收到的命令相同處理,并將狀態(tài)置位為 REDIS_REPL_ONLINE。Redis主從復(fù)制主從復(fù)制 主從復(fù)制過程Redis主從復(fù)制主從復(fù)制部署部署客戶端客戶端RedisRedis運維運維架構(gòu)示例架構(gòu)示例 下載安裝mkdir -p /root/install ; cd /root/install;wget -c http:/ zxvf redis-2.4.16.tar.gzcd /root/install/redis-2.4.16makemkdir -p /opt/soft/redi

33、s2.4.16 rm -f /opt/soft/redis ; ln -s /opt/soft/redis2.4.16 /opt/soft/rediscp /root/install/redis-2.4.16/src/redis-benchmark /opt/soft/redis2.4.16/cp /root/install/redis-2.4.16/src/redis-server /opt/soft/redis2.4.16/cp /root/install/redis-2.4.16/src/redis-cli /opt/soft/redis2.4.16/cp /root/install/redis-2.4.16/src/redis-check-dump /opt/soft/redis2.4.16/cp /root/install/redis-2.4.16/src/redis-check-aof /opt/soft/redis2.4.16/Redis部署部署 配置daemonize yespidfile /dev/shm/redis.pidport 8359unix

溫馨提示

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

評論

0/150

提交評論