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

  • Post author:
  • Post category:其他


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()自然要报错了



版权声明:本文为qq_42459467原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。