redis中也能做到一些具備事務(wù)特性的操作,它可以一次執(zhí)行多個(gè)命令, 并且?guī)в幸韵氯齻€(gè)重要特征:(1)批量操作在發(fā)送 EXEC 命令前被放入隊(duì)列緩存,其實(shí)就是眾多命令批量操作的準(zhǔn)備;(2)收到 EXEC 命令后進(jìn)入事務(wù)執(zhí)行,事務(wù)中任意命令執(zhí)行失敗,其余的命令依然被執(zhí)行,這一點(diǎn)不像事務(wù),因?yàn)槭]有回滾;(3)在事務(wù)執(zhí)行過程,其他客戶端提交的命令請(qǐng)求不會(huì)插入到事務(wù)執(zhí)行命令序列中,這一點(diǎn)像事務(wù),整個(gè)命令集執(zhí)行不被打斷。下面演示以下redis中的事務(wù)操作。
1、前提約束
- 已經(jīng)安裝好redis并啟動(dòng),可以是單機(jī)也可以是集群 http://www.itdecent.cn/p/cd2592116139
2、操作
- 打開命令行,輸入以下命令,啟動(dòng)一個(gè)redis客戶端:
# 進(jìn)入家目錄
cd
# 進(jìn)入redis-3.2.6的src目錄
cd redis-3.2.6/src
# 啟動(dòng)redis客戶端
./redis-cli -h 127.0.0.1 -p 6379
# 開啟一個(gè)事務(wù)
127.0.0.1:6379> multi
OK
# 加入一條命令到隊(duì)列
127.0.0.1:6379> set name ali
QUEUED
# 加入一條命令到隊(duì)列
127.0.0.1:6379> sadd sname a
QUEUED
# 加入一條命令到隊(duì)列
127.0.0.1:6379> sadd sname b
QUEUED
# 加入一條命令到隊(duì)列
127.0.0.1:6379> get name
QUEUED
# 加入一條命令到隊(duì)列
127.0.0.1:6379> smembers sname
QUEUED
# 執(zhí)行隊(duì)列中的命令
127.0.0.1:6379> exec
1) OK
2) (integer) 1
3) (integer) 1
4) "ali"
5) 1) "b"
2) "a"
以上就是redis中的事務(wù)演示。