發表文章

目前顯示的是有「Redis」標籤的文章

[Redis] [Go] Send 不加 MULTI 會怎麼樣

圖片
做redis transaction 基本上先放MULTI,再SEND要操作的行為後,最後送出EXEC。 但SEND 本身是在做queue的動作,即使沒有先送MULTI,也是可以成功把做queue的指令丟給redis。 為了弄清楚差異,做了一點實驗,以下搭配GOlang。 實驗一: 說明:         將最後的EXEC註解掉,中間插個DO。 結果:         結果DO以前有寫入redis,DO以後的沒作用。 實驗二: 說明:         根據實驗一的基礎上,但最一開始有用MULTI包起來。 結果:         結果即使中間有DO,但都沒寫入redis(DO也沒寫入?)。 實驗三: 說明:         將實驗二最下面的EXEC註解打開。 結果:         通通寫入redis。 結論:                 如果沒包MULTI,會因為有DO的指令,沒而被一起執行下去。         如果有包MULTI,因為MULTI會認EXEC,而導致中間的DO,被吃掉。         碰到EXEC,不管之前有包幾個MULTI,都會一併執行。 Created Date : 2018/08/16 Last Updated Date : 2018/08/16