我知道redis的单个操作是原子性的,如果在代码中对redis进行多次操作将无法保证整个操作流程的原子性。
比如下面的这段代码中,假设nums这个key的值是50,使用ab.exe工具对其1000次访问,并发数是100,理论上结果应该会出现负数的.
可是我多次测试下nums的值都是1,请问是我测试的方式不对还是其他哪里有问题呢?
$nums = $redis->get('nums');if($nums > 1) $redis->decr('nums');
潇湘沐
Helenr
相关分类