如何用redis做到限制,一个手机号,1分钟内最多发一条,一天内最多10条

需要两个缓存

  1. key名称 phone-busy,缓存1分钟

  2. key名称 phone-send-count,缓存1天,每成功发送一条+1

发送的时候流程如下:

  1. 判断phone-busy是否存在,存在直接报错“发送过快”。

  2. 判断phone-send-count是否存在,存在则继续检测是否等于10,存在且等于10报错“您今天不能发送短信了”

  3. 发送短信

  4. 写入phone-busy,有效期1分钟

  5. 写入phone-send-count+1,有效期当天23:59:59的时间戳-当前时间戳

posted @ 2018-07-26 09:17  糖果的二师兄  阅读(1585)  评论(0编辑  收藏  举报