我有一个程序(program_1)(基于Jedis KEY_1),它定期写入Redis HASH()。我还有一个program_2定期执行的程序()(独立的JVM进程),在Redis事务中执行以下操作:
program_1
KEY_1
program_2
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在下一次运行program_1时删除HASH(带有KEY_1)时,它将再次创建HASH。这样对吗 ?
是。Redis是单线程的,事务会阻塞直到它们完成为止,因此,如果program_2启动,则当program1再次运行时,哈希KEY_1将不再存在。