Redis setnx和set(key,value,nxxx,expx,time)

redis中setnx不支持设置过期时间,做分布式锁时 要想避免某一客户端中断导致死锁 ,需设置lock过期时间,在高并发时 setnx与 expire 不能实现原子操作,如果要用,得在程序代码上显示的加锁 。

我是用set(key,value,nxxx,expx,time)时,判断 set(key,value,nxxx,expx,time).equals(“OK”)作为设置条件,但是发现程序会出空指针异常 (NullPointException) 思前想后发现 set设置nx模式时 如果键已存在 不会返回 Error或者Warning 而返回nil 对应Java中就是null ,null.equals()自然要报错了

你可能感兴趣的:(多线程,redis)