Dicas de Redis #3

downloadNo NoSQL Redis não existe transação ACID e sim transação com bloqueio otimista. Para quem dúvida, veja nesse link o conceito. Depois de um tempo batendo cabeça, achei um post super interessante sobre isso que esclarece qualquer dúvida. Veja nesse link. A parte mais importante é entender como o redis efetua suas operações:

# Redis Simple:
SET powerlevel = 10
session A: WATCH powerlevel
session B: WATCH powerlevel
session A: GET powerlevel -> 10
session B: GET powerlevel -> 10
session A: current = 10 + 1
session B: current = 10 + 1
session A: MULTI
session B: MULTI
session A: SET powerlevel 11 -> QUEUED
session B: SET powerlevel 11 -> QUEUED
session A: EXEC -> success! powerlevel is now 11
session B: EXEC -> failure, because powerlevel has changed and was watched
# In the end, we have 11, and session B knows it has to attempt the transaction again
# Hopefully, it will work fine this time.

“Louvado seja o Senhor, que dia a dia leva as nossas cargas! Deus é a nossa salvação.” Salmos 68:19