講師回答 / 皮奇
rediscluster可以使用,但因為沒有統一的proxy代理,查詢效率上會打折扣,因此才會有 codis、twproxy等方案出現,而在一線互聯網公司,會基于rediscluster上,自研一個proxy
2021-03-07
講師回答 / 皮奇
仔細聽,強調了需要有訂單超時處理機制,避免占用庫存長時間不支付的場景出現。而且之所以選擇第三個方案原因為對比第一個方案,創建訂單等寫庫耗時操作可以異步化,性能更占優勢。
2020-07-12
講師回答 / 皮奇
這個其實是個高空用的問題,屬于運維層面要解決的事情,一般redis不是直連,而是通過vip連接到proxy,proxy再根究切片配置轉發到redis實例,每個redis實例是一主多從,讀寫都在主,主掛了之后會自動通過raft算法選舉出一個新的主,用于確保服務的高可用。市面上有比較成熟的解決方案,如codis,可以了解下。
2019-10-26
講師回答 / 皮奇
同學你好,你的思路不錯,可以繼續去想下直接incrby改會有什么問題,老師提供的思路只是其中一個方案,真正場景實現肯定會有非常多的方案,需要大家自己思考。redis->eval本身就是執行lua腳本,redis->incrby理論上也可以防止邊界條件的發生,不會造成超賣,因為incrby就實現了查詢+修改的原子操作,但是有一點點小缺點就是,不能做到只要一超賣了就直接終止+1。
2019-10-01