Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。
Redis事务的实现需要用到 MULTI 和 EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后依次发送需要在本次事务中处理的命令,最后再发送 EXEC 命令表示事务命令结束。
事务控制
multi
set age 10
set age 20
exec
取消一个事务
multi
set age 10
set age 20
discard
Java操作事务
public class RedisTransTest {
Jedis jedis = null;
@Before
public void init() {
// 创建jedis对象,如果不写端口,默认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"));
}
}