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

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

后来被经理改成了这样:

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

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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2022-02-12
猜你喜欢
  • 2022-12-23
  • 2022-01-26
  • 2021-11-19
  • 2022-12-23
  • 2021-10-28
  • 2022-03-02
相关资源
相似解决方案