Redis 的 SETNX 命令是原子性的,這意味著在執(zhí)行過(guò)程中不會(huì)被其他命令打斷。SETNX 命令用于在 key 不存在時(shí)設(shè)置鍵值對(duì),如果 key 已經(jīng)存在,則不執(zhí)行任何操作。
原子性的保證是通過(guò) Redis 內(nèi)部的單線程模型實(shí)現(xiàn)的。當(dāng)客戶端發(fā)送 SETNX 命令時(shí),Redis 會(huì)執(zhí)行以下操作:
這個(gè)過(guò)程是原子的,不會(huì)被其他命令打斷。因此,使用 SETNX 命令可以確保在并發(fā)環(huán)境下對(duì) key 的設(shè)置操作是安全的。