$redis->set($key, $value, array('nx', 'ex' => $ttl));
nx代表key不存在的时候才可以设置值,否则设值失败
ex代表过期时间,单位为秒
px也是过期时间,单位为毫秒
此方法通常用于给redis某个key进行加锁
例如:
keyA需要加锁,则:
$redis->set(keyA_lock, 1, array('nx', 'ex' => 1));
判断keyA_lock是否存在
如果存在,则keyA已被上锁
解锁的时候,删除相关锁即可
$redis->del(keyA_lock);
PS:
问:为什么要设值过期时间?
答:防止因为某种原因程序错误,没有进行删除锁操作,导致redis一直存在相关锁