Redis中的事務(wù)(transaction)是一組命令的集合腻菇。事務(wù)同命令一樣都是Redis最小的執(zhí)行單位秘遏,一個(gè)事務(wù)中的命令要么都執(zhí)行洋侨,要么都不執(zhí)行。
Redis事務(wù)的實(shí)現(xiàn)需要用到?MULTI?和?EXEC?兩個(gè)命令,事務(wù)開始的時(shí)候先向Redis服務(wù)器發(fā)送?MULTI?命令聊疲,然后依次發(fā)送需要在本次事務(wù)中處理的命令,最后再發(fā)送?EXEC?命令表示事務(wù)命令結(jié)束。
事務(wù)控制
? multi
? set age 10
? set age 20
? exec
取消一個(gè)事務(wù)
? multi
? set age 10
? set age 20
? discard
Java操作事務(wù)
public class RedisTransTest {
Jedis jedis = null;
@Before
public void init() {
// 創(chuàng)建jedis對象固歪,如果不寫端口,默認(rèn)6379端口
jedis = new Jedis("192.168.59.130", 6379);
}
@Test
public void transTest(){
Transaction tx = jedis.multi();
tx.set("name", "ljs");
tx.set("name", "ljs1");
tx.exec();
System.out.println(jedis.get("name"));
}
}