講師回答 / 皮奇
統(tǒng)一減庫存一般是Redis集群,本身有高可用方案,掛了一臺,Redis的哨兵會(huì)把從機(jī)器頂替上??梢詫W(xué)習(xí)了解一下Redis的集群方案實(shí)現(xiàn)
2021-07-07
講師回答 / 皮奇
rediscluster可以使用,但因?yàn)闆]有統(tǒng)一的proxy代理,查詢效率上會(huì)打折扣,因此才會(huì)有 codis、twproxy等方案出現(xiàn),而在一線互聯(lián)網(wǎng)公司,會(huì)基于rediscluster上,自研一個(gè)proxy
2021-03-07
講師回答 / 皮奇
是的,需要單獨(dú)寫腳本去消費(fèi)處理隊(duì)列中數(shù)據(jù),隊(duì)列一般不建議直接使用Redis,因?yàn)闆]有ack機(jī)制,一條數(shù)據(jù)不能保證被可靠的消費(fèi),建議使用 kafka隊(duì)列
2021-02-25
講師回答 / 皮奇
還是PHP操作Redis,執(zhí)行的是Redis的eval命令,這個(gè)命令傳入的字符串是lua代碼,可以在Redis服務(wù)器執(zhí)行這段lua代碼。
2020-09-17
講師回答 / 皮奇
仔細(xì)聽,強(qiáng)調(diào)了需要有訂單超時(shí)處理機(jī)制,避免占用庫存長時(shí)間不支付的場景出現(xiàn)。而且之所以選擇第三個(gè)方案原因?yàn)閷Ρ鹊谝粋€(gè)方案,創(chuàng)建訂單等寫庫耗時(shí)操作可以異步化,性能更占優(yōu)勢。
2020-07-12
講師回答 / 皮奇
apcu只是其中一種本地緩存的方案,本地緩存還可以通過在本地安裝redis來實(shí)現(xiàn)。opcache 和?apcu 沖突的指的是什么沖突呢?
2020-06-08
講師回答 / 皮奇
同學(xué)你好,多機(jī)本地減庫存后,還需要統(tǒng)一扣庫存,也就是后面的redis做統(tǒng)一維護(hù),目的是防止前面的洪峰把redis沖垮。
2019-12-15
講師回答 / 皮奇
這個(gè)其實(shí)是個(gè)高空用的問題,屬于運(yùn)維層面要解決的事情,一般redis不是直連,而是通過vip連接到proxy,proxy再根究切片配置轉(zhuǎn)發(fā)到redis實(shí)例,每個(gè)redis實(shí)例是一主多從,讀寫都在主,主掛了之后會(huì)自動(dòng)通過raft算法選舉出一個(gè)新的主,用于確保服務(wù)的高可用。市面上有比較成熟的解決方案,如codis,可以了解下。
2019-10-26
講師回答 / 皮奇
同學(xué)你好,你的思路不錯(cuò),可以繼續(xù)去想下直接incrby改會(huì)有什么問題,老師提供的思路只是其中一個(gè)方案,真正場景實(shí)現(xiàn)肯定會(huì)有非常多的方案,需要大家自己思考。redis->eval本身就是執(zhí)行l(wèi)ua腳本,redis->incrby理論上也可以防止邊界條件的發(fā)生,不會(huì)造成超賣,因?yàn)閕ncrby就實(shí)現(xiàn)了查詢+修改的原子操作,但是有一點(diǎn)點(diǎn)小缺點(diǎn)就是,不能做到只要一超賣了就直接終止+1。
2019-10-01