mysql事務(wù): 多個sql操作,要么一起成功要么一起失敗
redis命令都是原子性的熙暴,一個命令執(zhí)行時要么成功要么失敗筒占,不受其他的命令的影響
多個客戶端執(zhí)行時晚碾,可能先后發(fā)送多個命令交給redis執(zhí)行,redis會按照接受命令的順序一個個執(zhí)行
但是多個客戶端發(fā)送命令如果在同一時刻都發(fā)送了多個扔字,可能會導致客戶端的命令交叉執(zhí)行
? ? ? 一個客戶端的多個命令交給redis執(zhí)行時囊嘉,按提交的順序執(zhí)行不會被其他客戶端發(fā)送的命令打斷,就是redis的事務(wù)
redis事務(wù)的使用:
multi:? 開啟redis隊列革为,以后再執(zhí)行命令時不會立即執(zhí)行扭粱,而是存放到開啟的隊列中
如果組隊時,有命令寫錯了直接報錯震檩,隊列會取消
exec:? 讓redis執(zhí)行redis隊列
執(zhí)行期間有命令發(fā)生錯誤不會影響隊列其他命令的執(zhí)行
discard :取消redis的隊列