redis原子性测试的疑问

我知道redis的单个操作是原子性的,如果在代码中对redis进行多次操作将无法保证整个操作流程的原子性。

比如下面的这段代码中,假设nums这个key的值是50,使用ab.exe工具对其1000次访问,并发数是100,理论上结果应该会出现负数的.

可是我多次测试下nums的值都是1,请问是我测试的方式不对还是其他哪里有问题呢?

$nums = $redis->get('nums');if($nums > 1)
    $redis->decr('nums');


www说
浏览 1052回答 2
2回答

慕田峪7331174

你写了判断呀,大于1的时候才递减1你减到1的时候都不执行了,他怎么能作为测试原子性的依据呢?
打开App,查看更多内容
随时随地看视频慕课网APP