redis学习(十三)

redis学习(十三)

事务

jedis实现事务。

@Test
    public void testTX() throws JsonProcessingException {
        Jedis jedis = new Jedis("192.168.106.129", 6666);
        //如果没有密码,就可以省略下面步骤。
        jedis.auth("cxy0809.");

        HashMap<String, Object> userMap = new HashMap<>();
        userMap.put("name", "cuixiaoyan");
        userMap.put("age", "18");

        ObjectMapper objectMapper = new ObjectMapper();
        String userList = objectMapper.writeValueAsString(userMap);
        //开启事务
        Transaction multi = jedis.multi();
        try {
            multi.set("user1", userList);
            multi.set("user2", userList);
            //代码抛出移除,执行失败。
            //int i = 1 / 0;
            multi.exec();//执行事务。

        } catch (Exception e) {
            multi.discard(); //放弃事务。
            e.printStackTrace();
        } finally {
            System.out.println(jedis.get("user1"));
            System.out.println(jedis.get("user2"));
            jedis.close();//关闭连接。

        }

    }