Redis基本事務

Redis基本事務

有時候咱們爲了同時操做多種數據結構,須要屢次調用命令在同一時刻。Redis有五種命令能夠讓咱們不間斷的操做多種keys: WATCH,MULTI,EXEC,UNWATCHDISCARD數據庫

在Redis中一個基本事務是什麼?

在Redis中,一個基本事務包括MULTIEXEC,意思是提供給客戶端執行多個命令A,B,C,...的功能,其餘客戶端不能打斷。這個和關係型數據庫的能夠部分執行,而後回滾或遞交的事務不一樣。在Redis中,每一個做爲一個基本的MULTI/EXEC事務的一部分傳遞的命令,都將一個執行完執行下一個。在它們都執行完畢後,其客戶端才能夠執行本身的命令。數據結構

當看到MULTI,Redis將會從相同的鏈接組建命令隊列,直到它看到一個EXEC,纔會不中斷的執行整個命令隊列。在語義上,Python類庫處理事務使用一個叫pipeline的方法。在鏈接對象上調用pipeline()方法將會建立一個事務,正確的話將會自動使用MULTIEXEC包裝一個命令隊列。Python Redis客戶端也會存儲命令,直到咱們真正須要發送的時候才發送。這會減小Redis和客戶端的交互次數,提升性能。性能

沒有事務的話,每一個線程均可以同時訪問並修改數據庫,下面的例子將展現範例。spa

相關文章
相關標籤/搜索