redis学习(十三)

时间:2022-07-25
本文章向大家介绍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();//关闭连接。

        }

    }