尚18年末版第01階段javase包課件redis17v1_第1頁
尚18年末版第01階段javase包課件redis17v1_第2頁
尚18年末版第01階段javase包課件redis17v1_第3頁
尚18年末版第01階段javase包課件redis17v1_第4頁
尚18年末版第01階段javase包課件redis17v1_第5頁
免費預(yù)覽已結(jié)束,剩余147頁可下載查看

下載本文檔

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

文檔簡介

NoSQL數(shù)據(jù)NoSQL數(shù)據(jù)庫簡NoSQL數(shù)據(jù)庫簡技術(shù)的分Java、JspNoSQL數(shù)據(jù)庫簡技術(shù)的分Java、Jsp、Struts、Spring、SpringMVCHibernate、解決性NoSQL、Java線程、HadoopNginx、MQWeb1.0的時代量很有限,Web1.0的時代量很有限,用一夫當(dāng)關(guān)的高性能的單點務(wù)器可以解決大部分問數(shù)據(jù)Web服務(wù)隨著Web2.0的時代的到來,用量大幅了大量的用戶數(shù)據(jù)隨著Web2.0的時代的到來,用量大幅了大量的用戶數(shù)據(jù)。加上后來的智能移動設(shè)備的普及,所有的網(wǎng)都了巨大的性。數(shù)據(jù)庫服應(yīng)用服務(wù)文件服務(wù)器數(shù)據(jù)服務(wù)器方案1里文件服務(wù)器數(shù)據(jù)服務(wù)器方案1里方案4:緩存數(shù)完全在內(nèi)存中,數(shù)據(jù)結(jié)構(gòu)簡緩存數(shù)據(jù)庫:減少io的讀操緩存數(shù)據(jù)庫:減少io的讀操水平切讀寫分方NoSQL數(shù)據(jù)庫簡NoSQL數(shù)據(jù)庫概?NoSQL(NoSQLNotOnlyNoSQL數(shù)據(jù)庫簡NoSQL數(shù)據(jù)庫概?NoSQL(NoSQLNotOnlySQL,意即“不僅僅是SQL”,泛指非關(guān)系型的,而以簡單的key-value模。?NoSQL不依賴業(yè)務(wù)邏輯方因此大大的增加了數(shù)據(jù)庫的擴展能力???NoSQL數(shù)據(jù)庫簡NoSQL適用場NoSQL數(shù)據(jù)庫簡NoSQL適用場對數(shù)據(jù)高并發(fā)的讀海量數(shù)據(jù)的讀對數(shù)據(jù)高可擴展NoSQL不適用場需要事務(wù)支基于sql的結(jié)構(gòu)化,處理復(fù)雜的關(guān)系,需要即席list、???高性能、開源、模(schema???高性能、開源、模(schemafree)的文檔型數(shù)據(jù)可以根據(jù)數(shù)據(jù)的特點替代RDBMS??合看行式數(shù)據(jù)快慢select*fromuserswhereid看行式數(shù)據(jù)快慢select*fromuserswhereid123列式數(shù)據(jù)OLAP分析OLTP事務(wù)快慢查詢id為31列式數(shù)據(jù)OLAP分析OLTP事務(wù)快慢查詢id為3123?HBase是Hadoop項目中的數(shù)據(jù)庫。它用于需要對大量的數(shù)據(jù)?HBase是Hadoop項目中的數(shù)據(jù)庫。它用于需要對大量的數(shù)據(jù)進行?ApacheCassandra是一款免費的開源NoSQL服務(wù)器構(gòu)建起來的龐大集群上的海量數(shù)據(jù)集(數(shù)據(jù)通常達到PB級別)。在眾多顯著特性當(dāng)中,Cassandra最為卓越的DB-Engines DB-Engines Redis的介Redis的介紹及安Redis介紹Redis是一個開源的key-Redis介紹Redis是一個開源的key-括string(字符串)、list(鏈表)、set(集合)、zset(sorted步1、配合關(guān)系型數(shù)據(jù)庫做高速1、配合關(guān)系型數(shù)據(jù)庫做高速緩?的數(shù)據(jù),降低數(shù)據(jù)庫?分布式架構(gòu),做2、由于其擁有持久化能力,利用其多樣的數(shù)據(jù)的數(shù)據(jù)。特通過List2、由于其擁有持久化能力,利用其多樣的數(shù)據(jù)的數(shù)據(jù)。特通過List實現(xiàn)按自然時間排序的數(shù)據(jù)N個數(shù)據(jù)Top利用zset(有序集合時效性的數(shù)據(jù),比如Expire原子性,自增方法INCR、計數(shù)器,秒殺去除大量數(shù)據(jù)中的重復(fù)數(shù)據(jù)利用Set構(gòu)建隊利用list發(fā)布訂閱消息系統(tǒng)pub/sub模式Redis從哪獲得Redis中文Redis從哪獲得Redis中文 Redis安裝關(guān)于安裝Redis安裝關(guān)于安裝版本:3.2.5for不用考慮在windows環(huán)境下對Redis的支持Redis安裝安裝步驟:獲得redis-3.2.5.tar.gz后將它放入的Redis安裝安裝步驟:獲得redis-3.2.5.tar.gz后將它放入的12、解壓命令:tar-zxvfredis-redis-3、解壓完成后進入Redis安裝4、在redis-下執(zhí)行make命令Redis安裝4、在redis-下執(zhí)行make命令:gcc:命令未找到y(tǒng)uminstallgcc???執(zhí)行cd/run/media/root/CentOS7(路徑跟centos6不同 進入安裝詳見《01在VM上安裝CentOS7_201802V1.4》第39命令:rpmUvh*.rpmnodeps?Redis安裝5、在redis-下再次執(zhí)Redis安裝5、在redis-下再次執(zhí)行make命令Jemalloc/jemalloc.h:沒有那個文解決方案:運行makedistclean6、在redis-下再次執(zhí)行make命令Redis安裝執(zhí)行完makeRedis安裝執(zhí)行完make后,跳過Redistest繼續(xù)執(zhí)行make 查看默認安Redis- 查看默認安Redis-ark:性能測試工具,可以在自己本子運行,看看自己本子Redis-check-aof:修復(fù)有問題的AOF文件,rdb和aof后面Redis-check-dump:修復(fù)有問題的dump.rdbRedis-sentinel:Redis集群redis-server:Redis服務(wù)器啟動命redis-cli:客戶端 Redis啟 啟1、備份 Redis啟 啟1、備份redis.conf:拷貝一份redis.conf到其他2、修改redis.conf文件將里面的daemonizeno改yes,讓服在啟3、啟動命令:執(zhí)行redis- Redis啟 4、用客戶端:Redis-? Redis啟 4、用客戶端:Redis-?多個端口可以Redis-–p5、測試驗證: Redis關(guān) 單實例關(guān)閉:Redis-cli也 Redis關(guān) 單實例關(guān)閉:Redis-cli也可以進入終端后再關(guān)閉多實例關(guān)閉,指定端口關(guān)閉:Redis-clip Redis相關(guān)知 端口6379從何而來Alessia默 Redis相關(guān)知 端口6379從何而來Alessia默認16個數(shù)據(jù)庫,類似數(shù)組下標(biāo)從0開始,初始默認使用0號庫<dbid>來切換數(shù)據(jù)庫。如select管理,所有庫都是同樣,要么都OK要么一個也連接不上。 Redis相關(guān)知 Redis相關(guān)知識—單線 Redis是單線程+多路IO復(fù)用技術(shù)多路復(fù)用是指使用一個線程來檢查多個文件描述符(Socket)的就狀態(tài),比如調(diào)用slt和ol函數(shù),傳入多個文件描述符,如果有一個文件描述符就緒,則返回,否則阻塞直到超時。得到就緒狀態(tài)后進行真正的操作可以在同一個線程里執(zhí)行,也可以啟動線程執(zhí)行(比如使用線程池)串行vs(memcached)vs多路IO復(fù)用 Redis五大數(shù)據(jù)類 Redis數(shù) Redis五大數(shù)據(jù)類 Redis數(shù)據(jù)類+ Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- keys?查詢當(dāng)前庫的所有鍵exists?判斷某個鍵是否存在type?查看鍵的類型?刪除某個鍵 Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- ?為鍵值設(shè)置過期時間,秒?查看還有多少秒過期,-1表示永不過期,-2表示已過期 Redis五大數(shù)據(jù)類型 Redis五大數(shù)據(jù)類型-- 查看當(dāng)前數(shù)據(jù)庫的key的數(shù)量?清空當(dāng)前庫?通殺全部庫 Redis五大數(shù)據(jù)類型 Redis五大數(shù)據(jù)類型-- String是Redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應(yīng)一個value。String類型是二進制安全的。意味著Redis的string包含任何數(shù)據(jù)。比如或者序列化的對象。String類型是Redis最基本的數(shù)據(jù)類型,一個Redis中字符串value最多可以是512M Redis五大數(shù)據(jù)類型-- ? Redis五大數(shù)據(jù)類型-- ??查詢對應(yīng)鍵值<key>添加鍵值對append<key>?將給定的追加到原值的末尾strlen?獲得值的長度setnx<key>?只有key不存在時key的值 Redis五大數(shù)據(jù)類型-- incr??中的 Redis五大數(shù)據(jù)類型-- incr??中的數(shù)字值增只能對數(shù)字值操作,如果為空,新增值為decr??中的數(shù)字值減只能對數(shù)字值操作,如果為空,新增值為-incrby/<key><步長的數(shù)字值增減。自定義步長。?中 Redis五大數(shù)據(jù)類型 Redis五大數(shù)據(jù)類型-- 原子性?switch(切換到另一個線程)。Redis單命令的原子性主要得益于Redisjava中的i++是否是原子操作? 五大數(shù)據(jù)類型 mset<key1> 五大數(shù)據(jù)類型 mset<key1><value1><key2>?同時設(shè)置一個或多個key-valuemget<key3>?同時獲取一個或msetnx<key1><value1><key2><value2>?同時設(shè)置一個或多個key-key都不存在對,當(dāng)且僅當(dāng)所有給定 Redis五大數(shù)據(jù)類型 Redis五大數(shù)據(jù)類型-- getrange<key><起始位置><結(jié)束位置?獲得值的范圍,類似java中的setrange <起始位置的字符串值,從<?<value>覆寫<key始位置>開始 Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- setex<key><過期時間?設(shè)置鍵值的同時,設(shè)置過期時間,秒getset<key>?以新?lián)Q舊,設(shè)置了新值同時獲得就值。 Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- lpush/rpush Redis五大數(shù)據(jù)類型-- lpush/rpush<key><value1><value3>?從左邊/右邊一個或多個值。lpop/rpop??從左邊/右邊吐出一個值在鍵在,值光鍵亡。rpoplpush<key1>?從<key1>列表右邊吐出一個值,插到<key2>列表左邊。 Redis五大數(shù)據(jù)類型 Redis五大數(shù)據(jù)類型-- lrange<key><start>按照索引下標(biāo)獲得元素(從左到右lindex<key>按照索引下標(biāo)獲得元素(從左到右llen?獲得列表長度 Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- linsertbefore<value>?在<value>的后面<newvalue>值lrem<key>從左邊刪除n個value(從左到右 Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- Redisset對外提供的功能與list特殊之處在于set列表數(shù)據(jù),又不希望出現(xiàn)重復(fù)數(shù)據(jù)時,setRedis的Set是string個value為null的hash表,所以添加,刪除,查找的復(fù)度都是O(1) Redis五大數(shù)據(jù)類型-- sadd<value2> Redis五大數(shù)據(jù)類型-- sadd<value2>?當(dāng)中,經(jīng)存在于集合的member元素將被忽略smembers?取出該集合的所有值sismember判斷集合<key>是否為含有該<value>值,有返回沒有返回 Redis五大數(shù)據(jù)類型-- ?srem Redis五大數(shù)據(jù)類型-- ?srem<key><value1><value2>?spop?srandmember<key>?? Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- er<key1>?sunion<key1>?sdiff<key1>? Redis五大數(shù)據(jù)類型-- hash Redis五大數(shù)據(jù)類型-- hashhash是一個string類型的field和value表 Redis五大數(shù)據(jù)類型-- , Redis五大數(shù)據(jù)類型-- ,列化改好后再序列化回去。開銷較大。用戶ID數(shù)據(jù)冗余通過key(用戶ID)+field(屬)數(shù)據(jù),也不會帶來序列化和并改控 Redis五大數(shù)據(jù)類型-- hset Redis五大數(shù)據(jù)類型-- hset給<key>集合中<field>鍵賦值hgethmset<field1><value1><field2> Redis五大數(shù)據(jù)類型-- hexists Redis五大數(shù)據(jù)類型-- hexists?hkeyshvalshincrby<key>?為哈希表keyfield的值加上增量hsetnx<field>?將哈希表keyfield的值設(shè)置為valuefield不存在 Redis五大數(shù)據(jù)類型-- (sortedRedis有序 Redis五大數(shù)據(jù)類型-- (sortedRedis有序集合zset與普通集合set非常相似的沒有成員都關(guān)聯(lián)了一個評分,這個評復(fù)了。因為元素是有序的(score)或者次序ition)來獲取一個范 Redis五大數(shù)據(jù)類型-- zadd<key><score1><score2>member Redis五大數(shù)據(jù)類型-- zadd<key><score1><score2>memberscore?zrange<start>帶WITHSCORES,可以讓分數(shù)一起和值返回到結(jié)果??zrangebyscorekeyax[withscores][limitoffsetscoreminmax?(minmaxscore增(從小到大)次序排列zrevrangebyscorekeymaxmin[withscores][limitoffset? Redis五大數(shù)據(jù)類型-- zincrby<key><increment> Redis五大數(shù)據(jù)類型-- zincrby<key><increment>?zcount?? Redis五大數(shù)據(jù)類型-- Redis五大數(shù)據(jù)類型-- 如何利用zset實現(xiàn)一個文量榜Redis的相Redis的相關(guān)配置 Redis相關(guān)配 計量 Redis相關(guān)配 計量說大小寫不敏感 Redis相關(guān)配 Redis相關(guān)配 Redis相關(guān)配 ip地址的綁定默認情況bind=請接受任何 Redis相關(guān)配 ip地址的綁定默認情況bind=請接受任何ip Redis相關(guān)配 tcp- Redis相關(guān)配 tcp-+高并發(fā)環(huán)境tcp-backlog設(shè)置值跟超時時限內(nèi)的Redis Redis相關(guān)配 Redis相關(guān)配 TCP對 Redis相關(guān)配 存 Redis相關(guān)配 存文件的位置,每文 Redis相關(guān)配 Redis相關(guān)配 log Redis相關(guān)配 Redis相關(guān)配 是否將Redis日志輸送到linuxsyslog-syslog- Redis相關(guān)配 Redis相關(guān)配 ? Redis相關(guān)配 ?? Redis相關(guān)配 ??? Redis相關(guān)配 Redis相關(guān)配 Maxmemory-volatile-lru:使用LRU算法移除key,只對設(shè)置了過期時間的鍵allkeys-lru:使用LRU算法移除volatile-random:在過期集合中移除隨機的key,只對設(shè)置了過期時間的鍵allkeys-random:移除隨機的volatile-ttl:移除那些TTL值最小的key,即那些最近要過期的keynoeviction:不進行移除。針對寫操作,只是返回錯誤信息 Redis相關(guān)配 Maxmemory-?設(shè) Redis相關(guān)配 Maxmemory-?設(shè)置樣本數(shù)量,LRU算法和最小TTL算法都并非是法,而是估算值,所以你可以設(shè)置樣本的大?一般設(shè)置3到7的數(shù)字,數(shù)值越小樣本消耗也越小確,但是Java的RedisJava的Redis客戶端 Redis的Java客戶端 Redis的Java客戶端 Jedis所需要的jarCommons-pool-Jedis-? Redis的Java客戶端 Redis的Java客戶端 用windows中的Eclipse連接虛擬機的Redis的注意事項禁用Linux:Linux(CentOS7)里執(zhí)行命systemctlstopredis.conf中注釋掉bind,然后protect-modeno Redis的Java客戶端 Jedis測試連 Redis的Java客戶端 Jedis測試連通性publicclassDemo01publicicvoidmain(String[]args)Jedisjedis=new//查看服務(wù)是否運行,打出pong表示 ln("connectionis}} Redis的Java客戶端 Redis的Java客戶端 Set<String>keys=for(Iteratoriterator=keys.iterator();{Stringkey=(String)iterator.next(); } Redis的Java客戶端 Redis的Java客戶端 for(Stringelement:list){ } Redis的Java客戶端 Redis的Java客戶端 Set<String>set1=for(Iteratoriterator=set1.iterator();{Stringstring=(String)iterator.next(); } Redis的Java客戶端 Redis的Java客戶端 Map<String,String>map=newHashMap<String,String>(); List<String>result=jedis.hmget("hash2",for(Stringelement:result){ } Redis的Java客戶端 Redis的Java客戶端 Set<String>s1=jedis.zrange("zset01",0,-for(Iteratoriterator=s1.iterator();{Stringstring=(String)iterator.next(); }作業(yè)完成一個功要求:作業(yè)完成一個功要求:1、輸鐘有效2、輸入3、每個號,點擊發(fā)送后隨機生成6位數(shù)字碼,2,點擊驗證,返回成功或失敗號每天只能輸入3RedisRedis Redis的事 Redis的事務(wù)定義Redis事務(wù)是一 Redis的事 Redis的事務(wù)定義Redis事務(wù)是一個單獨操作:事務(wù)中的所有命令都會序列化請求所打斷。令Redis事務(wù)的主要作用就是串聯(lián)多個命令防 Redis的事 Multi、Exec、 Redis的事 Multi、Exec、setsetset Redis的事 事務(wù)的錯誤處理組隊中某個命令出現(xiàn)了 Redis的事 事務(wù)的錯誤處理組隊中某個命令出現(xiàn)了會被取消。錯誤,執(zhí)行時整個的所有隊列會都setsetset Redis的事 事務(wù)的錯誤處理如果執(zhí)行階段某個命令報出了錯 Redis的事 事務(wù)的錯誤處理如果執(zhí)行階段某個命令報出了錯誤,則只有令不會被執(zhí)行,而其他令都會執(zhí)行,不會回滾。setsetsetsetsetset為什么要做為什么要做成事務(wù)想想一個場景:有很多人有你的賬戶,同時去參加雙十一搶購事務(wù)兩個請求一個請求想給金額減一事務(wù)兩個請求一個請求想給金額減一個請求想給金額減一個請求想給金額減then--ifthen---ifthen-Redis的事務(wù)悲觀鎖ifthen-ifthen-樂觀鎖ifthen-Redis的事務(wù)悲觀鎖ifthen-ifthen-樂觀鎖ifthen-ifthen-then-check-and- Redis的事 悲 Redis的事 悲觀鎖(PessimisticLock顧名思義,就是很悲觀,每次去傳統(tǒng)的關(guān)系型數(shù)據(jù)庫里邊就用到了很多這種鎖機制,比如鎖,表鎖等,讀鎖,寫鎖等,都是作之前先上樂觀鎖(OptmtcLo),樂觀鎖適用于多讀的應(yīng)用類型,這樣可以提高吞吐量。Res就是利用這種cc--s Redis的事 WATCHkey Redis的事 WATCHkey[key?[key,如果在事務(wù)執(zhí)行之前這個(或這些key Redis的事 Redis的事 ??取消WATCH命令對所有key了的話,那么就不需要再執(zhí)行UNWATCH Redis的事 三特單獨操?沒級別的概 Redis的事 三特單獨操?沒級別的概?不保證原子?Redis事務(wù)Redis事務(wù)--秒殺解決計數(shù)器的事務(wù)操秒殺成功商品庫人解決計數(shù)器的事務(wù)操秒殺成功商品庫人成功者的成功者的成功者的Redis事務(wù)--秒殺并發(fā)Redis事務(wù)--秒殺并發(fā)模擬使用工具CentOS6默認安CentOS7需要手1、聯(lián)網(wǎng):yuminstallhttpd-2、無網(wǎng)絡(luò)進入cd/run/media/root/CentOS7順序安apr-1.4.8-apr-util-1.5.2-httpd-tools-2.4.6-用戶A減用戶減減1、檢查是還有庫用戶減2、利用樂觀鎖淘汰用戶,解決超賣問題2、利用樂觀鎖淘汰用戶,解決超賣問題用戶98991、檢是否還有庫存是否還有庫存用戶用戶庫存-2。 Redis的Java客戶端 池 Redis的Java客戶端 池?? Redis的Java客戶端 Redis的Java客戶端 池參數(shù)MaxTotal:控制一個pool可分配多少個jedis實例,通過pool.getResource()來獲?。还x值為1,則表示不限制;如果poo已經(jīng)分配了MaxTotal個jedis實例,則此時poo的狀態(tài)為exhaused。maxIdle:控制一個pool最多有多少個狀態(tài)為idle(空閑)的jedis實例MaxWaitMillis:表示當(dāng)borrow一個jedis實例時,最大的等待毫秒數(shù),如果超過間,則直接拋testOnBorrow:獲得一個jedis實例的時候是否檢查連接可用性true,則得到的jedis())Lua是一個小巧 語言C/C++代碼調(diào)用,也可以反過來調(diào)用C/C++的函數(shù),Lua并Lua是一個小巧 語言C/C++代碼調(diào)用,也可以反過來調(diào)用C/C++的函數(shù),Lua并、。在Redis中的優(yōu)勢?性?在Redis中的優(yōu)勢?性??利用淘汰用戶,解決超賣問redis2.6版本以后利用淘汰用戶,解決超賣問redis2.6版本以后,通過解決爭搶用戶用戶用戶用戶用戶用戶RedisRedis Redis的持久 Redis的持久 ???Redis提供了2個不同形式的持久化方式AOF(AppendOf Redis的持久 Redis的持久化-- ?在指定的時間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤,就是行話講的pht讀到內(nèi)存里。 Redis的持久 Redis的持久化-- ?Redis會單獨創(chuàng)建(fork)一個子進程來進行持久化,會先將數(shù)據(jù)寫到一個臨時文件中,待持久化過程都結(jié)束了,再用這個臨時文件替換上次持久化好的文件。整個過程中,主進程是不進行任何IO操作的,這就確保了極高的性能如果需要進行大規(guī)模數(shù)據(jù)的恢復(fù),且對于數(shù)據(jù)方式要比ARDB的缺點是最后一次持久化后的數(shù)據(jù)可能丟失 Redis的持久化-- 關(guān)于?在 Redis的持久化-- 關(guān)于?在Linux程序中,fork()會產(chǎn)生一技術(shù)”,一般情況父進程進程會共用同一段物理內(nèi)存,只有進程空間的各段的內(nèi)容要發(fā)生變化時 Redis的持久化-- Redis的持久化-- 在redis.conf中配置文件名稱,默認為rdb文件的保存路徑,也可以修改。默認為Redis啟動時命令所在下 Redis的持久化-- Redis的持久化-- 命令保存,其它不管,全部阻savevs Redis的持久化-- 當(dāng)Redis無法寫入磁盤 Redis的持久化-- 當(dāng)Redis無法寫入磁盤的話,直接關(guān)掉Redis的寫操?進行rdb保存時,將文件壓?rdbchecksum快照后,還可以讓Redis使用CRC64算法來?在據(jù)校驗,但是這樣做會增加大約10%的性能消耗,如望獲取到最大的性,可以關(guān)閉此功 Redis的持久化-- 先通 Redis的持久化-- 先通過configget查詢rdb文件將*.rdb的文件拷貝到別的關(guān)閉??先把備份的文件拷貝到下啟動Redis,備份數(shù)據(jù)會直接加? Redis的持久化-- Redis的持久化-- ????Reds意外dow掉的話,就會丟失最后一次快照后的所 Redis的持久化-- 每個寫操作,將 Redis的持久化-- 每個寫操作,將Redis執(zhí)行過?下來(讀操作),只許追加文件但可以改寫文件,Redis啟動之初數(shù)據(jù),換言之,Redis重啟的話就根據(jù)日志文件的 Redis的持久化-- Redis的持久化-- AOF默認不開啟,需要手動在配置文件中配可以在redis.conf中配置文件名稱,默認為AOF文件的保存路徑,同RDBAOF和RDBAOF和RDB同時開啟,redis聽誰的 Redis的持久化-- AOF文件故障備份 Redis的持久化-- AOF文件故障備份?AOF的備份機制和性能雖然和RDB不同AOF和RDB同時開啟,系統(tǒng)默認取AOF的數(shù)?AOF文件的保存路徑,同RDB如遇到AOF文件損壞,可通redis-check-aof--fix進行恢 Redis的持久化-- AOF同 Redis的持久化-- AOF同步頻率設(shè)始終同步,每次Redis的寫入都會立刻記入???把不主動進行同步,把同步時機交給操作系 Redis的持久 Redis的持久化-- ?AOF采用文件追加方式,文件會越來越大為避免出現(xiàn)此種情況新增了重寫機制,AO就會啟動AObgrritaof。 Redis的持久化-- Redis? Redis的持久化-- Redis?AOF文件持續(xù)增長而過大時,會fork出一條新進程來將文件寫(也是先寫臨時文件最后再rename),遍歷新進程的內(nèi)存數(shù)據(jù),每有一條的Set語句。重寫aof文件的操作沒舊的aof文件,而是將整個內(nèi)存中的數(shù)據(jù)庫內(nèi)容用令的方式重寫了一個新的aof文件,這點和快照有點類似 Redis的持久化-- ?重 Redis的持久化-- ?重寫雖然可以節(jié)約大量磁盤空間,減少恢復(fù)時間。但是每次Rds?系統(tǒng)載入時或者上次重寫完畢時,Redis此時AOF大小base_size,如果Redis的AOF當(dāng)前大小>=base_size+base_size*100%(認)且當(dāng)前大小>=64mb(默認)的情況下,Redis會對AOF進行重寫 Redis的持久化-- ?? Redis的持久化-- ??比起RDB占??? Redis的持久化-- 用哪個好 Redis的持久化-- 用哪個好?如果對數(shù)據(jù)不敏感,可以選單獨用RDB???Redis的主從Redis的主從 Redis的主從是什么?master/slaver機制,Master以寫為主,Slave以讀為 Redis的主從是什么?master/slaver機制,Master以寫為主,Slave以讀為用寫?讀寫分離,性能擴展主?容災(zāi)快速恢復(fù)讀讀從從從 Redis的主從配從(服務(wù)器) Redis的主從配從(服務(wù)器)不配主(服務(wù)器???????拷貝多個redis.conf文件開啟daemonize文件名字指定端口Log文件名字Dump.rdb名字dbfilename 關(guān)掉或者換名字 Redis的主從info?的相關(guān)信息 Redis的主從info?的相關(guān)信息?成為某個實例的從服務(wù)器 主 主3主機shutdown4?嗎5其中一臺從機down后情況如何?依照原有它能跟上主從從 ? ????令從更新指 傳上一個slave可以是下一個slave的Master,slave 傳上一個slave可以是下一個slave的Master,slave同樣可以master,可以有效減輕master的寫壓力,去中心化降低風(fēng)險。用中途變更轉(zhuǎn)向:會清除之前的數(shù)據(jù),重新建立拷風(fēng)險是一旦某個slave宕機,后面的slave都沒法的從從 Redis的主從反客為主當(dāng) Redis的主從反客為主當(dāng)一個master宕機后,后面的slave可以立刻升為master,其的slave不用做任何修改。用noone 哨兵模式?票數(shù)自動將從庫轉(zhuǎn)換為主庫從主從切哨 哨兵模式?票數(shù)自動將從庫轉(zhuǎn)換為主庫從主從切哨 Redis的主從配置哨兵?調(diào)整為一主二仆模自定義 Redis的主從配置哨兵?調(diào)整為一主二仆模自定義的下新建sentinel.conf文??在配置文件中填寫內(nèi)容1其中mymaster哨兵

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論