1.保证了互斥性。
2.避免了死锁。
3.容错性还不错,只要大部分Redis正常工作就可以正常提供服务。
set if not exist,如果不存在就写。
本身不是原子性操作,可以用LUA脚本,实际生产过程中建议直接使用Redission。
如果直接使用setnx的话,为了避免死锁,最好设置一个“合理”的过期时间。
释放该锁的话,使用“DEL”操作删除数据即可。