4

我有一个程序 ( )(基于 Jedis),它定期program_1写入 Redis HASH ( )。KEY_1我有另一个program_2定期执行的程序 ()(单独的 JVM 进程),并且在 Redis 事务中执行以下操作:

        Transaction transaction = redis.multi();
        //get the current entity table
        Response<Map<String, String>> currentEntityTableResponse = transaction.hgetAll(KEY_1);
        transaction.del(KEY_1);
        transaction.exec();

我的假设是,当 program_2 删除了 HASH(使用 KEY_1)时,下一次 program_1 运行它会再次创建 HASH。这个对吗 ?

4

1 回答 1

9

是的。Redis 是单线程的事务在完成之前一直阻塞,所以如果 program_2 启动,当 program1 再次运行时,哈希 KEY_1 将不再存在。

于 2013-06-24T18:00:24.613 回答