小编典典

多个并发程序在同一哈希键上执行读/删除操作时的Redis行为

redis

我有一个程序(program_1)(基于Jedis KEY_1),它定期写入Redis
HASH()。我还有一个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在下一次运行program_1时删除HASH(带有KEY_1)时,它将再次创建HASH。这样对吗 ?


阅读 608

收藏
2020-06-20

共1个答案

小编典典

是。Redis是单线程的事务会阻塞直到它们完成为止,因此,如果program_2启动,则当program1再次运行时,哈希KEY_1将不再存在。

2020-06-20