版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本節(jié)課目標(biāo)1Redis常用命令和特性(數(shù)據(jù)類型、持久化、事務(wù)、發(fā)布訂閱等2RedisClusterRedis安wgettarxvfredis-3.2.9.tar.gzcdredis-makeinstallPREFIX=/root/svr/redis-3.2.9安裝src/redis-server../redis.conf啟動src/redis-cli#客戶端連接Ps:redis.conf文件KeysbitExistskeykeystringvaluekeystringvaluekey0,nxnotexist的意刪除某1Expire過期時間(單位秒TTLkey失效,keykey對應(yīng)的值string類型value,并指定此鍵值對應(yīng)的有效期一次設(shè)置多個key的值,成功返回ok表示所有的值都設(shè)置了,失敗返回0表示沒有任key的值,并返回key的舊值keykeynilkey的值做加加操作,incrintvalue會返回錯誤,incr一個不存在的key,則設(shè)置key為1incrkeykeyvaluekey的值做的是減減操作,decrkeykey為-decrkeyvalue,取指keyvalue值的長度persistxxx(取消過期時間選擇數(shù)據(jù)庫(0-15庫Select0moveage1//age1Randomkey隨機(jī)返回一個Rename重命Type回數(shù)據(jù)類測試連接是否可以成功Quit出連DbsizekeyInforedisConfigget|set示與修改配String字符串格式setkeystring類型是二進(jìn)制安全的。意思是redis的string可以包含任何數(shù)據(jù)。比如jpg或者序列化的對象。string類型是Redis最基本的數(shù)據(jù)類型,一個鍵最大能512MBHash(哈希格式:hmset key1value1key2Redishash是一個鍵值(key=>value)Redishash是一個string類型的field和value的映射表,hash特別適合用于對象List(列表Redis(左格式: 在key對應(yīng)list的頭部添加字符串元素格式:rpush 在key對應(yīng)list的尾部添加字符串元素格式:lremname keylistcountvalue相同的元素格式:llennamekeylistSet(集合格式: RedisSetstringzset(sortedset:有序集格式: namescoreRediszsetsetstring類型元素的集合,double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員zset的成員是唯一的,但分?jǐn)?shù)(score)事redis對事務(wù)的支持目前還比較簡單。redis只能保證一個 發(fā)起的事務(wù)中令可 令。由于redis是單線程來處理所有的請求的所以做到這點(diǎn)是很容易的。一般情況下redis在接受到一個 令后會立即處理并返回處理結(jié)果,但是當(dāng)一個在接中發(fā)出multi命令有,這個連接會進(jìn)入一個事務(wù)上下文,該連接后續(xù)令并不是立即執(zhí)行,而是先放exec命令后,redis會順序的執(zhí)行隊列中的所有命令。并將所有命令的運(yùn)行結(jié)果打包到一起返回給.然后此連接就結(jié)束事務(wù)上下文。開啟事物:exec取消事物:discard發(fā)布與訂閱布訂閱s)是一種消息通信模式,主要的目的是解耦消息發(fā)布者和消息訂閱者之間的b代碼級別耦合也解決兩者在物理部署上的耦合。在redis實現(xiàn)是SUBSCRIBE(訂閱)、UNSUBSCRIBE(取消)和PUBLISH(推送)生產(chǎn)PSUBSCRIBE支持*Redis提供了兩種持久化方式:RDB(默認(rèn))rdbRedisDataBaseRDB功能函數(shù)rdbSave(生成RDB文件)和rdbLoad(從文件加載內(nèi)存)兩個函的RDB文件將替換已有的RDB文件。RDBBGSAVE則fork出一個子子進(jìn)程負(fù)責(zé)調(diào)用rdbSave并在保存完成之后向主進(jìn)程發(fā)送信rdbSaveRedisBGSAVE執(zhí)行期rdbLoad函數(shù):是redis服務(wù)重啟或者啟動的時候回加載保存到磁盤的RDB文件加載到內(nèi)存中結(jié)構(gòu) |REDIS|RDB-VERSION|SELECT-DB|KEY-VALUE-PAIRS|EOF|CHECK-SUM 保存策略save900save3001030010keysave60AofAppend-onlyfile每當(dāng)執(zhí)行服務(wù)器(定時)任務(wù)或者函數(shù)時flushAppendOnlyFile函數(shù)都會被調(diào)用,這個函數(shù)執(zhí)aof寫入保存WRITE:根據(jù)條件,將aof_buf中的緩存寫入到AOF文件SAVEfsyncfdatasyncAOF文件保存到磁盤中。兩個步驟都需要根據(jù)一定的條件來執(zhí)行,Redis提供了三種條件。保存策略模 WRITE是阻塞
SAVE
停機(jī)時丟失的數(shù)據(jù)操作系統(tǒng)最后一次對AOF
阻 阻
SAVE
阻 不阻 一般情況下不超過2秒鐘阻 阻 最多只丟失一個命令的數(shù)據(jù)結(jié)構(gòu)內(nèi)容是redis通訊協(xié)議(RESP)格式令文本總結(jié):RDB:數(shù)據(jù).AOF:數(shù)據(jù)+命令A(yù)OFRDBaof。:通常為被方(master)主動將數(shù)據(jù)發(fā)送到方(slave),方接收到數(shù)據(jù)在當(dāng)前實例,最終目的是為了保證雙方的數(shù)據(jù)一致,master的壓力。1、slavemastersync4、master發(fā)送完RDB文件,將緩存令也發(fā)給slave。5、masterslave主從1步:cpreids.conf2步:Vim3步:slaveof192.168.0.126379(master的地址)4步:Vimredis.conf(master)第5步 0.0.0.0#無ip都可以第6步:./redis-server 第7步./redis-server Ps:setgetinfo1、masterset值,slave2、configget集群是一個提供多個Redis(分布式)節(jié)點(diǎn)間共享數(shù)據(jù)的程序集Redis16384hash個槽(slot)16384個分片(hashslot)RedisCluster16384(0~16383)RedisClusterslot16384個哈希槽中keyCRC16校驗和。3節(jié)點(diǎn)A(6381)包含0到5499B(6382)5500到10999號哈希槽.節(jié)點(diǎn)C(6383)11000到16383這種結(jié)構(gòu)很容易添加或者刪除節(jié)點(diǎn).比如如果新添加個節(jié)點(diǎn)D,我需要從節(jié)點(diǎn)A,B,C中D上A,ABC節(jié)點(diǎn)上,然后將沒有任何槽的A節(jié)點(diǎn)從集群中移除即可.由于從一個節(jié)點(diǎn)將哈希槽移動到另一個節(jié)點(diǎn)并不會停止服數(shù)據(jù)遷slot(槽)key的遷移,這個功能很重要,極大地方便了集群做線性擴(kuò)MasterA1、2、3slotMasterBslot遷移的中間狀態(tài)下,slot1、2、3MasterA節(jié)點(diǎn)的狀態(tài)表現(xiàn)為MIGRATING(遷移),MasterB節(jié)點(diǎn)的狀態(tài)表現(xiàn)為IMPORTING()。nodeIMPORTING狀被遷移slot在目標(biāo)MasterB節(jié)點(diǎn)中出現(xiàn)的一種狀態(tài),準(zhǔn)備遷移slotMaterAMasterBslotIMPORTING鍵空間遷鍵空間遷移是指當(dāng)滿足了slot遷移前提的情況下通過相關(guān)命令將slot12、3中的鍵空間從MasterA節(jié)點(diǎn)轉(zhuǎn)移到MasterB節(jié)點(diǎn)。此時刷新node的映射關(guān)&高可用集群的節(jié)點(diǎn)內(nèi)置了和高可用特性特點(diǎn):1、節(jié)點(diǎn)自動發(fā)2、slave->master,集群容錯3、Hotresharding:分片4、基于配置(nodes-port.conf)的集群管5、客戶端與redis節(jié)點(diǎn)直連、不需要中 層6、所有的redis節(jié)點(diǎn)彼此互聯(lián)( -PONG機(jī)制),二進(jìn)制協(xié)議優(yōu)化傳輸速redis-trib.rbredis-trib.rb是redis作者用ruby完成的是對rediscluster管理工具,集成在redis的源碼src 名作redisslot增加節(jié)點(diǎn):./redis-trib.rbadd-nodeip:port第一個參數(shù)是新節(jié)點(diǎn)的地址,第二個參數(shù)是任意一個已經(jīng)存在的節(jié)點(diǎn)的IP和端口.移除節(jié)點(diǎn):redis-tribdel-node ip:port`<node-id>`clusterreplicate
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦山應(yīng)急救援中井下通風(fēng)與瓦斯事故處理研究
- 2《歸去來兮辭并序》公開課一等獎創(chuàng)新教案統(tǒng)編版高中語文選擇性必修下冊
- 第4課《古代詩歌四首-觀滄海》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 統(tǒng)編版語文三年級上冊第五單元習(xí)作我眼中的繽紛世界 公開課一等獎創(chuàng)新教案(共兩課時)
- 小學(xué)學(xué)校三年發(fā)展規(guī)劃(2024年9月-2027年9月)
- 搶救室、清創(chuàng)縫合室基本設(shè)置標(biāo)準(zhǔn)
- 醫(yī)療設(shè)施石料運(yùn)輸合同范本
- 綠化苗木移植搬遷服務(wù)
- 托兒所裝修合同樣本
- 精密儀器跨國運(yùn)輸合同
- TD/T 1009-2007 城市地價動態(tài)監(jiān)測技術(shù)規(guī)范(正式版)
- 主題班會:文明上網(wǎng)
- 泌尿外科靜脈血栓栓塞癥的風(fēng)險評估與預(yù)防
- 2024年四川省行測筆試試題及答案
- 《配電網(wǎng)保護(hù)分級配置及整定技術(shù)規(guī)范》
- 統(tǒng)編版四年級上冊第四單元快樂讀書吧 《中國古代神話故事》 課件
- 學(xué)校安全風(fēng)險清單
- 大數(shù)據(jù)與會計專業(yè)-會計基礎(chǔ)課程標(biāo)準(zhǔn)
- 2024屆浙江省名校協(xié)作體高三下學(xué)期開學(xué)聯(lián)考政治試題及答案
- 模擬電子技術(shù)基礎(chǔ)(第四版)習(xí)題解答
- 飛騰工控主板方案
評論
0/150
提交評論