右鍵+清除本來好好的按一個(gè)N就可以,現(xiàn)在整的啥?清除個(gè)內(nèi)容還要按3個(gè)鍵?
1112
2022-05-30
1)redis主從節(jié)點(diǎn)是長(zhǎng)連接還是短連接?
長(zhǎng)連接
2)怎么判斷redis某個(gè)節(jié)點(diǎn)是否正常工作
一般集群判斷節(jié)點(diǎn)是否正常工作,常用的方法都是通過互相的ping-pong心跳檢測(cè)機(jī)制,如果有一半以上的節(jié)點(diǎn)去ping一個(gè)節(jié)點(diǎn)的時(shí)候沒pong回應(yīng),集群就會(huì)認(rèn)為這個(gè)節(jié)點(diǎn)宕機(jī),會(huì)斷掉這個(gè)節(jié)點(diǎn)的連接。
redis主節(jié)點(diǎn)默認(rèn)每隔10s發(fā)送一次心跳-一判斷從節(jié)點(diǎn)是否在線。
redis從節(jié)點(diǎn)每隔1s發(fā)送一次心跳一給主節(jié)點(diǎn)發(fā)送自己的復(fù)制偏移量,從主節(jié)點(diǎn)獲取到最新的數(shù)據(jù)變更命令,還做一件事情就是判斷主節(jié)點(diǎn)是否在線。
3)過期key如何處理
主節(jié)點(diǎn)處理了一個(gè)key或者通過淘汰算法淘汰了一個(gè)key,這個(gè)時(shí)候主節(jié)點(diǎn)模擬一條del命令發(fā)送給從節(jié)點(diǎn),從節(jié)點(diǎn)接收到命令刪除key。
4)redis是同步復(fù)制還是異步復(fù)制
redis主節(jié)點(diǎn)每次接收到寫命令之后,先寫到內(nèi)部的緩沖區(qū),然后異步發(fā)送給從節(jié)點(diǎn)。
5)redis除了做緩存,還可以用來做什么?
答:分布式鎖、防重提交、分布式限流、簡(jiǎn)易版本的消息隊(duì)列、延遲任務(wù)、session共享(
集成spring-session-data-redis)
6)redis鎖如何保證任何時(shí)刻有且只有一個(gè)線程持有這個(gè)鎖?
答:使用命令:setnx key value key不存在時(shí)設(shè)置成功返回值ok,key存在設(shè)置失敗,也可以采用If(!redisUtil.get(key)set key value},不過這段代碼需要采用Iua腳本實(shí)現(xiàn)來保證原子性。
7)如何保證分布式鎖不產(chǎn)生死鎖?
答給鎖設(shè)置一個(gè)合理的過期時(shí)間,業(yè)務(wù)執(zhí)行過程中節(jié)點(diǎn)異常宕機(jī),有個(gè)兜底終止跳出方案使用命令:setnx key value ex seconds設(shè)置key和對(duì)應(yīng)的過期時(shí)間,到了指定的ex時(shí)間,鎖自動(dòng)釋放。
8)如何防止釋放別的線程鎖?
使用UUID或者雪花算法
9)分布式鎖選用redis與Zookeeper的區(qū)別
1)redis分布式鎖(推薦)互聯(lián)網(wǎng)項(xiàng)目并發(fā)量高,對(duì)性能要求高,比較推薦。
redis常見操作,例如基本類型string、hash、Iist、set等等操作可以采用jedis或lettuce。
對(duì)于跟分布式鎖相關(guān)的操作集成redission。
2)分布式鎖百分百可靠可以選用Zookeeper作為分布式鎖。采用cap理論中的cp模型保證高可靠性。
一般的項(xiàng)目我們可以結(jié)合不同的場(chǎng)景,同時(shí)兼容兩種分布鎖的實(shí)現(xiàn)。
10)什么是 redis 熱 key
在 Redis 中,熱 key 是指那些在極短的時(shí)間內(nèi)訪問頻次非常高的 key
Redis 分布式
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。