redis 限制请求次数的写法

最近工作中碰见一个限制发短信次数的场景
最开始我是这么写的:

if(Redis::exists($locKey))
        if(Redis::incr($locKey) > 1)
            echo '请勿重复发送';

后来被经理改成了这样:

if(Redis::incr($locKey) > 1)
            echo '请勿重复发送';

后来询问了下  说INCR具有原子性操作,但是没有深入说,自己研究了下,其实所有redis 单个命令都有原子性  但是按上面的写法的话 高访问量  两个请求同时访问的极端情况下会有数据不准的现象出现  况且incr里已经判断了key是否存在,所以一个incr就能解决了,exists很多此一举.

原文地址:https://www.cnblogs.com/tudou1223/p/9092463.html