版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Redis是完全開源免費(fèi)的,遵守BSD協(xié)議,是一個(gè)高性能的key-valueRedis與其他key-valueRedisRedis不僅僅支持簡(jiǎn)單的key-value類型的數(shù)據(jù),同時(shí)還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存Redis支持?jǐn)?shù)據(jù)的備份,即master-slaveRedis性能極高–Redis能讀的速度是110000次/s,寫的速度是81000次/s豐富的數(shù)據(jù)類型–Redis支持二進(jìn)制案例的Strings,Lists,Hashes,Sets及OrderedSets數(shù)據(jù)類型操原子–Redis的所有操作都是原子性的,意思就是要么成功執(zhí)行要么失敗完全不執(zhí)行。單個(gè)操作是原子性的。多個(gè)操作也支持事務(wù),即原子性,通過(guò)MULTI和EXEC指令包起來(lái)。豐富的特性–Redis還支持publish/subscribe,通知,keyRedis與其他key-valueRedis徑。Redis的數(shù)據(jù)類型都是基于基本數(shù)據(jù)結(jié)構(gòu)的同時(shí)對(duì)程序員透明,無(wú)需進(jìn)行額外的抽象。Redis運(yùn)行在內(nèi)存中但是可以持久化到磁盤,所以在對(duì)不同數(shù)據(jù)集進(jìn)行高速讀寫時(shí)需要權(quán)衡內(nèi)存,因?yàn)閿?shù)據(jù)量不能大于硬件內(nèi)存。在內(nèi)存數(shù)據(jù)庫(kù)方面的另一個(gè)優(yōu)點(diǎn)是,相比在磁盤上相同的復(fù)雜的數(shù)據(jù)結(jié)構(gòu),在內(nèi)存中操作起來(lái)非常簡(jiǎn)單,這樣Redis可以做很多內(nèi)部復(fù)雜性很強(qiáng)的事情。同時(shí),們是緊湊的以追加的方式產(chǎn)生的,因?yàn)樗麄儾⒉恍枰M(jìn)行隨機(jī)訪問(wèn)。答:Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合)及zsetsortedset)我們實(shí)際項(xiàng)目中比較常用的是string,hash如果你是Redis中高級(jí)用戶,還需要加上下面幾種數(shù)據(jù)結(jié)構(gòu)HyperLogLog、Geo、Pub/Sub。1、速度快,因?yàn)閿?shù)據(jù)存在內(nèi)存中,類似于HashMap,HashMap的優(yōu)勢(shì)就是查找和操作的時(shí)間復(fù)雜度都是O1)2stringlistsetZsethash34、豐富的特性:可用于緩存,消息,按key4、Redis相比Memcached1、Memcached所有的值均是簡(jiǎn)單的字符串,redis2、Redis的速度比Memcached快很3、Redis35、Memcache與Redis1、存儲(chǔ)方式Memecache把數(shù)據(jù)全部存在內(nèi)存之中,斷電后會(huì)掛掉,數(shù)據(jù)不能超過(guò)內(nèi)存大小。2、數(shù)據(jù)支持類型Memcache對(duì)數(shù)據(jù)類型支持相對(duì)簡(jiǎn)單。Redis3、使用底層模型不同它們之間底層實(shí)現(xiàn)方式以及與客戶端之間通信的應(yīng)用協(xié)議不一樣。Redis直接自己構(gòu)建了VM機(jī)制,因?yàn)橐话愕南到y(tǒng)調(diào)用系統(tǒng)函數(shù)的話,會(huì)浪費(fèi)一定的時(shí)間去移動(dòng)和請(qǐng)求。答:Redis是單進(jìn)程單線程的,redis利用隊(duì)列技術(shù)將并發(fā)訪問(wèn)變?yōu)榇性L問(wèn),消除了傳統(tǒng)數(shù)據(jù)庫(kù)串行答:RedisRDBAOF機(jī)制1、RDBRedisDataBase)持久化方式:是指用數(shù)據(jù)集快照的方式半持久化模式)記錄redis數(shù)據(jù)庫(kù)的所有鍵值對(duì),在某個(gè)時(shí)間點(diǎn)將數(shù)據(jù)寫入一個(gè)臨時(shí)文件,持久化結(jié)束后,用這個(gè)臨時(shí)文件替換上次持久化的文件,達(dá)到數(shù)據(jù)恢復(fù)。23、性能最大化,fork子進(jìn)程來(lái)完成寫操作,讓主進(jìn)程繼續(xù)處理命令,所以是IO最大化。使用單獨(dú)子進(jìn)程來(lái)進(jìn)行持久化,主進(jìn)程不會(huì)進(jìn)行任何IO操作,保證了redis的高性能)4.相對(duì)于數(shù)據(jù)集大時(shí),比AOF的啟動(dòng)效率更高。缺點(diǎn)1、數(shù)據(jù)安全性低。RDB是間隔一段時(shí)間進(jìn)行持久化,如果持久化之間redis發(fā)生故障,會(huì)發(fā)生數(shù)據(jù)丟2、AOFAppend-only?le)持久化方式:是指所有的命令行記錄以redis命令請(qǐng)求協(xié)議的格式完全持久化存儲(chǔ))保存為aof文件。1、數(shù)據(jù)安全,aof持久化可以配置appendfsync屬性,有alwaysaof2、通過(guò)append模式寫文件,即使中途服務(wù)器宕機(jī),可以通過(guò)redis-check-aof工具解決數(shù)據(jù)一致性3、AOF機(jī)制的rewrite模式。AOF文件沒被rewrite之前(文件過(guò)大時(shí)會(huì)對(duì)命令進(jìn)行合并重寫),可以刪除其中的某些命令(比如誤操作的?ushall))1、AOF文件比RDB2、數(shù)據(jù)集大的時(shí)候,比rdb1、Master最好不要寫內(nèi)存快照,如果Master寫內(nèi)存快照,save命令調(diào)度rdbSave函數(shù),會(huì)阻塞主線程的工作,當(dāng)快照比較大時(shí)對(duì)性能影響是非常大的,會(huì)間斷性暫停服務(wù)2、如果數(shù)據(jù)比較重要,某個(gè)Slave開啟AOF3、為了主從復(fù)制的速度和連接的穩(wěn)定性,Master和Slave45、主從復(fù)制不要用圖狀結(jié)構(gòu),用單向鏈表結(jié)構(gòu)更為穩(wěn)定,即:Master<-<-Slave2<-Slave3…這樣的結(jié)構(gòu)方便解決單點(diǎn)故障問(wèn)題,實(shí)現(xiàn)Slave對(duì)Master的替換。如果掛了,可以立刻啟用Slave1做Master1、定時(shí)刪除:在設(shè)置鍵的過(guò)期時(shí)間的同時(shí),創(chuàng)建一個(gè)定時(shí)器timer).立即執(zhí)行對(duì)鍵的刪除操作。2、惰性刪除:放任鍵過(guò)期不管,但是每次從鍵空間中獲取鍵時(shí),都檢查取得的鍵是否過(guò)期,如果過(guò)期的話,就刪除該鍵;如果沒有過(guò)期,就返回該鍵。3、定期刪除:每隔一段時(shí)間程序就對(duì)數(shù)據(jù)庫(kù)進(jìn)行一次檢查,刪除里面的過(guò)期鍵。至于要?jiǎng)h除多少過(guò)期鍵,以及要檢查多少個(gè)數(shù)據(jù)庫(kù),則由算法決定。volatile-ttl:從已設(shè)置過(guò)期時(shí)間的數(shù)據(jù)集(server.db[i].expires)中挑選將要過(guò)期的數(shù)據(jù)淘汰volatile-random:從已設(shè)置過(guò)期時(shí)間的數(shù)據(jù)集(server.db[i].expires)中任意選擇數(shù)據(jù)淘汰allkeys-lru:從數(shù)據(jù)集(server.db[i].dict)中挑選最近最少使用的數(shù)據(jù)淘汰allkeys-random(server.db[i].dict)no-enviction()注意這里的6種機(jī)制,volatile和allkeys規(guī)定了是對(duì)已設(shè)置過(guò)期時(shí)間的數(shù)據(jù)集淘汰數(shù)據(jù)還是從全部數(shù)據(jù)集淘汰數(shù)據(jù),后面的lru、ttl以及random是三種不同的淘汰策略,再加上一種no-enviction永不回1、如果數(shù)據(jù)呈現(xiàn)冪律分布,也就是一部分?jǐn)?shù)據(jù)訪問(wèn)頻率高,一部分?jǐn)?shù)據(jù)訪問(wèn)頻率低,則使用allkeys-2、如果數(shù)據(jù)呈現(xiàn)平等分布,也就是所有的數(shù)據(jù)訪問(wèn)頻率都相同,則使用allkeys-答:Redis為了達(dá)到最快的讀寫速度將數(shù)據(jù)都讀到內(nèi)存中,并通過(guò)異步的方式將數(shù)據(jù)寫入磁盤。所以redis具有快速和數(shù)據(jù)持久化的特征。如果不將數(shù)據(jù)放在內(nèi)存中,磁盤I/O速度為嚴(yán)重影響redis的性能。在內(nèi)存越來(lái)越便宜的今天,redis將會(huì)越來(lái)越受歡迎。如果設(shè)置了最大使用的內(nèi)存,則數(shù)據(jù)已有記答:Redis可以使用主從同步,從從同步。第一次同步時(shí),主節(jié)點(diǎn)做一次bgsave,并同時(shí)將后續(xù)修改操作記錄到內(nèi)存bu?er,待完成后將db文件全量同步到復(fù)制節(jié)點(diǎn),復(fù)制節(jié)點(diǎn)接受完成后將db鏡像加載到內(nèi)存。加載完成后,過(guò)程。IOpipeline執(zhí)行的指令之間沒有因果相關(guān)性。使用、RedisCluster著眼于擴(kuò)展性,在單個(gè)redis內(nèi)存不足時(shí),使用Cluster答:有A,B,C三個(gè)節(jié)點(diǎn)的集群,在沒有復(fù)制模型的情況下,如果節(jié)點(diǎn)B失敗了,那么整個(gè)集群就會(huì)以為缺少5501-11000這個(gè)范圍的槽而不可用。答:Redisson、Jedis、lettuce等等,官方推薦使用Redisson18、Jedis與Redisson答:Jedis是Redis的Java實(shí)現(xiàn)的客戶端,其API提供了比較全面的Redis命令的支持;Redisson實(shí)現(xiàn)了分布式和可擴(kuò)展的Java數(shù)據(jù)結(jié)構(gòu),和Jedis相比,功能較為簡(jiǎn)單,不支持字符串操作,不支持排序、事務(wù)、管道、分區(qū)等Redis特性。Redisson的宗旨是促進(jìn)使用者對(duì)Redis的關(guān)注分離,從而讓使configsetrequirepass123456auth答:Redis集群沒有使用一致性hash,而是引入了哈希槽的概念,Redis集群有16384key通過(guò)CRC16校驗(yàn)后對(duì)16384取模來(lái)決定放置哪個(gè)槽,集群的每個(gè)節(jié)點(diǎn)負(fù)責(zé)一部分hash答:為了使在部分節(jié)點(diǎn)失敗或者大部分節(jié)點(diǎn)無(wú)法通信的情況下集群仍然可用,所以集群使用了主從復(fù)制模型,每個(gè)節(jié)點(diǎn)都會(huì)有N-1個(gè)復(fù)制品.答:Redis答:16384答:Redis集群目前無(wú)法做數(shù)據(jù)庫(kù)選擇,默認(rèn)在0ping事務(wù)是一個(gè)單獨(dú)的隔離操作:事務(wù)中的所有命令都會(huì)序列化、按順序地執(zhí)行。事務(wù)在執(zhí)行的過(guò)程中,不會(huì)被其他客戶端發(fā)送來(lái)的命令請(qǐng)求所打斷。答:盡可能使用散列表(hashes),散列表(是說(shuō)散列表里面存儲(chǔ)的數(shù)少)使用的內(nèi)存非常小,所以你應(yīng)該盡可能的將你的數(shù)據(jù)模型抽象到一個(gè)散列表里面。比如你的web系統(tǒng)中有一個(gè)用戶對(duì)象,不要為這個(gè)用戶的名稱,姓氏,郵箱,密碼設(shè)置單獨(dú)的key,而是應(yīng)該把這個(gè)用戶的所有信息存儲(chǔ)到一張散列表里面.更多面試題關(guān)注微信公眾號(hào):Java2B答:一個(gè)客戶端運(yùn)行了新的命令,添加了新的數(shù)據(jù)。Redi檢查內(nèi)存使用情況,如果大于的限制,則根據(jù)設(shè)定好的策略進(jìn)行回收。一個(gè)新的命令被執(zhí)行,等等。所以我們不斷地穿越內(nèi)存限制的邊界,通過(guò)不斷達(dá)到邊界然后不斷地回收回到邊界以下。如果一個(gè)命令的結(jié)果導(dǎo)致大量?jī)?nèi)存被使用(例如很大的集合的交集保存到一個(gè)新的鍵),不用多久內(nèi)存限制就會(huì)被這個(gè)內(nèi)存使用量超越。答:如果你使用的是32位的Redis實(shí)例,可以好好利用Hash,list,sortedset,set等集合類型數(shù)據(jù),因Key-Value可以用更緊湊的方式存放到一起。答:如果達(dá)到設(shè)置的上限,Redis的寫命令會(huì)返回錯(cuò)誤信息(但是讀命令還可以正常返回。)或者你可以將Redis當(dāng)緩存來(lái)使用配置淘汰機(jī)制,當(dāng)Redis達(dá)到內(nèi)存上限時(shí)會(huì)沖刷掉舊的內(nèi)容。Set他們最多能存放多少元素?答:理論上Redis可以處理多達(dá)232的keys,并且在實(shí)際中進(jìn)行了測(cè)試,每個(gè)實(shí)例至少存放了2億5千萬(wàn)的keys。我們正在測(cè)試一些較大的值。任何list、set、和sortedset都可以放232個(gè)元素。換句話說(shuō),Redis的存儲(chǔ)極限是系統(tǒng)中的可用內(nèi)存值。證redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)?答:Redis內(nèi)存數(shù)據(jù)集大小上升到一定大小的時(shí)候,就會(huì)施行數(shù)據(jù)淘汰策略。相關(guān)知識(shí):Redis提供volatile-lru:從已設(shè)置過(guò)期時(shí)間的數(shù)據(jù)集(server.db[i].expires)中挑選最近最volatile-ttl(server.db[i].expires)volatile-random:從已設(shè)置過(guò)期時(shí)間的數(shù)據(jù)集(server.db[i].expires)中任意選擇數(shù)據(jù)淘汰allkeys-lru:從數(shù)據(jù)集(server.db[i].dict)中挑選最近最少使用的數(shù)據(jù)淘汰allkeys-random(server.db[i].dict)no-enviction()1、會(huì)話緩存(Session最常用的一種使用Redis的情景是會(huì)話緩存(sessioncache)。用Redis緩存會(huì)話比其他存儲(chǔ)(如Memcached)的優(yōu)勢(shì)在于:Redis提供持久化。當(dāng)維護(hù)一個(gè)不是嚴(yán)格要求一致性的緩存時(shí),的購(gòu)物車信息全部丟失,大部分人都會(huì)不高興的,現(xiàn)在,他們還會(huì)這樣嗎?幸運(yùn)的是,隨著Redis這些年的改進(jìn),很容易找到怎么恰當(dāng)?shù)氖褂肦edis來(lái)緩存會(huì)話的文檔。甚至廣為人知的商業(yè)平臺(tái)Magento也提供Redis的插件。2、全頁(yè)緩存(除基本的會(huì)話token之外,Redis還提供很簡(jiǎn)便的FPC平臺(tái)。回到一致性問(wèn)題,即使重啟了Redis實(shí)例,因?yàn)橛写疟P的持久化,用戶也不會(huì)看到頁(yè)面加載速度的下降,這是一個(gè)極大改進(jìn),類似PHP本地FPCMagento為例,MagentoRedisWordPress的用戶來(lái)說(shuō),Pantheon有一個(gè)非常好的插件wp-redis,這個(gè)插件能幫助你以最快速度加3Reids在內(nèi)存存儲(chǔ)引擎領(lǐng)域的一大優(yōu)點(diǎn)是提供list和set操作,這使得Redis能作為一個(gè)很好的消息隊(duì)操作。如果你快速的在Google中搜索“Redisqueues”,你馬上就能找到大量的開源項(xiàng)目,這些項(xiàng)目的目的就是利用Redis創(chuàng)建非常好的后端工具,以滿足各種隊(duì)列需求。例如,Celery有一個(gè)后臺(tái)就是使用Redis作為broker,你可以從這里去查看。4,排行榜/Redis在內(nèi)存中對(duì)數(shù)字進(jìn)行遞增或遞減的操作實(shí)現(xiàn)的非常好。集合(Set)和有序集合(SortedSet)也使得我們?cè)趫?zhí)行這些操作的時(shí)候變的非常簡(jiǎn)單,Redis只是正好提供了這兩種數(shù)據(jù)結(jié)構(gòu)。所以,我們要從排序集合中獲取到排名最靠前的10個(gè)用戶–我們稱之為“user_scores”,我們只需要像下面一樣執(zhí)行即可:當(dāng)然,這是假定你是根據(jù)你用戶的分?jǐn)?shù)做遞增的排序。如果你想返回用戶及用戶的分?jǐn)?shù),你需要這樣執(zhí)行:ZRANGEuser_scores010WITHSCORESAgoraGamesRuby實(shí)現(xiàn)的,它的排行榜就是使用Redis5、發(fā)布/最后(但肯定不是最不重要的)是Redis的發(fā)布/訂閱功能。發(fā)布/訂閱的使用場(chǎng)景確實(shí)非常多。我已看見人們?cè)谏缃痪W(wǎng)絡(luò)連接中使用,還可作為基于發(fā)布/訂閱的腳本觸發(fā)器,甚至用Redis的發(fā)布/來(lái)建立聊天系統(tǒng)!答:使用keys指令可以掃出指定模式的key對(duì)方接著追問(wèn):如果這個(gè)redis正在給線上的業(yè)務(wù)提供服務(wù),那使用keys這個(gè)時(shí)候你要回答redis關(guān)鍵的一個(gè)特性:redis的單線程的。keys指令會(huì)導(dǎo)致線程阻塞一段時(shí)間,線上服務(wù)會(huì)停頓,直到指令執(zhí)行完畢,服務(wù)才能恢復(fù)。這個(gè)時(shí)候可以使用scan指令,scan指令可以無(wú)阻塞的提取出指定模式的key列表,但是會(huì)有一定的重復(fù)概率,在客戶端做一次去重就可以了,但是整體所花費(fèi)的時(shí)間會(huì)比直接用keys指令長(zhǎng)。答:如果大量的key過(guò)期時(shí)間設(shè)置的過(guò)于集中,到過(guò)期的那個(gè)時(shí)間點(diǎn),redis可能會(huì)出現(xiàn)短暫的卡頓現(xiàn)象。一般需要在時(shí)間上加一個(gè)隨機(jī)值,使得過(guò)期時(shí)間分散一些。答:一般使用list結(jié)構(gòu)作為隊(duì)列,rpush生產(chǎn)消息,lpop消費(fèi)消息。當(dāng)lpop沒有消息的時(shí)候,要適當(dāng)sleep如果對(duì)方追問(wèn)可不可以不用sleeplist還有個(gè)指令叫blpop次消費(fèi)多次呢?使用pub/sub主題訂閱者模式,可以實(shí)現(xiàn)1:N的消息隊(duì)列。如果對(duì)方追問(wèn)pub/sub在消費(fèi)者下線的情況下,生產(chǎn)的消息會(huì)丟失,得使用專業(yè)的消息隊(duì)列如RabbitMQ等。如果對(duì)方追問(wèn)redis如何實(shí)現(xiàn)延時(shí)隊(duì)列?我估計(jì)現(xiàn)在你很想把面試官一棒打死如果你手上有一根棒球棍的話,怎么問(wèn)的這么詳細(xì)。但是你很克制,然后神態(tài)自若的回答道:使用sortedset,拿時(shí)間戳作為scoe,消息內(nèi)容作為y調(diào)用zadd產(chǎn)消息,消費(fèi)者用zangeyscoe指令獲取N秒之前的數(shù)據(jù)輪詢進(jìn)行處理。到這里,面試官暗地里已經(jīng)對(duì)你豎起了大拇指。但是他不知道的是此刻你卻豎起了中指,在椅子背后。先拿setnx來(lái)爭(zhēng)搶鎖,搶到之后,再用expire這時(shí)候?qū)Ψ綍?huì)告訴你說(shuō)你回答得不錯(cuò),然后接著問(wèn)如果在setnx之后執(zhí)行expire之前進(jìn)程意外這時(shí)候你要給予驚訝的反饋:唉,是喔,這個(gè)鎖就永遠(yuǎn)得不到釋放了。緊接著你需要抓一抓自己得腦袋,故作思考片刻,好像接下來(lái)的結(jié)果是你主動(dòng)思考出來(lái)的,然后回答:我記得set指令有非常復(fù)雜的參數(shù),這個(gè)應(yīng)該是可以同時(shí)把setnx和expire合成一條指令來(lái)用的!對(duì)方這時(shí)會(huì)顯露笑容,心里
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026重慶騰芳幼兒園公開招聘4人備考題庫(kù)及參考答案詳解1套
- 2026福建漳州開發(fā)區(qū)育才實(shí)驗(yàn)小學(xué)招聘4人備考題庫(kù)含答案詳解
- 2026湖南常德市臨澧縣供銷社現(xiàn)代農(nóng)業(yè)服務(wù)有限公司招聘1人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 2026浙江紹興市新昌縣教體系統(tǒng)校園招聘教師27人備考題庫(kù)(第1號(hào))及參考答案詳解1套
- 2026陜西西安市西北工業(yè)大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院非編專任教師崗(外籍)招聘1人備考題庫(kù)附答案詳解
- 2026貴州銅仁市沿河土家族自治縣中醫(yī)醫(yī)院選調(diào)護(hù)理人員5人備考題庫(kù)及一套答案詳解
- 2026遼寧沈陽(yáng)中鐵建發(fā)展有限公司校園招聘?jìng)淇碱}庫(kù)帶答案詳解
- 小學(xué)幼兒園垃圾分類管理制度
- 2026年一級(jí)建造師(市政)市政管網(wǎng)改造工程施工技術(shù)練習(xí)(含答案解析)
- 2026春季學(xué)期廣東廣州市天河區(qū)同仁實(shí)驗(yàn)學(xué)校教師招聘初中英語(yǔ)教師1人備考題庫(kù)及答案詳解(基礎(chǔ)+提升)
- 2025年黨員民主評(píng)議個(gè)人總結(jié)2篇
- 果園合伙經(jīng)營(yíng)協(xié)議書
- 2026中國(guó)民營(yíng)醫(yī)院集團(tuán)化發(fā)展過(guò)程中的人才梯隊(duì)建設(shè)專題報(bào)告
- 物業(yè)管理經(jīng)理培訓(xùn)課件
- 員工解除競(jìng)業(yè)協(xié)議通知書
- 【語(yǔ)文】太原市小學(xué)一年級(jí)上冊(cè)期末試題(含答案)
- 儲(chǔ)能電站員工轉(zhuǎn)正述職報(bào)告
- 靜脈炎處理方法
- 不銹鋼護(hù)欄施工方案范文
- 商業(yè)地產(chǎn)物業(yè)管理運(yùn)營(yíng)手冊(cè)
- 2025及未來(lái)5年中國(guó)天然植物粉市場(chǎng)調(diào)查、數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
評(píng)論
0/150
提交評(píng)論