redis短信发送限制
redis限制短信一分钟5条
/*** 判断一分钟之内,是否可以发送短信:一分钟之内限制5条* @param phone 手机号* @return Boolean true-可以发送*/@Overridepublic Boolean sendCount(String phone) {String key = phone;//是否可以发送短信Boolean isSend = true;//从缓存中获取已发送短信的数量long size = redisTemplate.opsForList().size(key);if (size <= 5){redisTemplate.opsForList().rightPush(key, TimeUtils.timestampNow() + "");}else {List<String> time = redisTemplate.opsForList().range(key, 0, size);Long now = TimeUtils.timestampNow();//如果最开始的一条距离现在超过1分钟,就移除最左边的,并且添加一条if (now - Long.valueOf(time.get(0)) > ONE_MINUTE){redisTemplate.opsForList().leftPop(key);redisTemplate.opsForList().rightPush(key,TimeUtils.timestampNow() + "");}else {//最左边的也在一分钟之内,则不能发送短信LogUtils.error(LogAction.ERROR,"一分钟之内已发送5条短信,请稍后再试");isSend = false;}}return isSend;}
redis短信发送限制相关推荐
- IDM短信发送接口设计说明
对于大多数企业而言,信息化建设的主要目的是通过信息化驱动业务,实现业务升级与优化,主要有三种体现形式:建设业务系统,实现业务流程标准化.便捷化:整合业务系统和数据,形成数据资产:业务数据呈现,直观展现 ...
- 快速集成腾讯云短信实现短信发送(Spring Boot)
前言 腾讯云活动白嫖 1.地址 地址:https://cloud.tencent.com/act/free?from=14600 2.创建签名(根据实际情况选择) 我的是网站 3.创建模板 选择模板内 ...
- Java整合腾讯云短信发送
1. 引入相关maven依赖 <dependency><groupId>com.github.qcloudsms</groupId><artifactId&g ...
- 阿里云短信服务——短信发送验证码
引言 短信服务现在在很多地方都用的到,我们最多接触到的可能就是验证码的发送了:现在很多大厂都提供由短信服务对应的api,直接调用就可以轻松实现短信发送:下面我以阿里云为例,演示一下如何短信发送验证码: ...
- Tp5 实现短信发送及页面倒计时
为什么使用短信: 场景:通常在使用手机号注册时需要发送短信验证码,在修改密码等敏感操作时也需要验证手机号发送短信验证码. 目的:验证用户的身份是否本人 平台:百度Apistore数据平台.聚合数据平台 ...
- 图片验证码、阿里云短信发送和验证的逻辑
图片验证码的生成 1.django 缓存设置 1.1 安装Django缓存模块 pip install django-redis==4.12.1 1.2 syl/settings.py中配置缓存 # ...
- django框架中嵌入容联云sdk实现短信发送接口
1.注册容联云账号,主要是为了获取如下参数 添加测试手机号 2.关于sdk和用法可参考Demo示例,demo下载在最上面Demo下载 3.在自己的项目中导入需用到的模块 4.更改配置为自己申请的应用配 ...
- java实现阿里大于短信发送服务
这篇文章主要介绍一下手机号注册,发送短信验证码的功能 觉得有帮助的点赞支持一下吧. 这里我们采用的是阿里大于的服务来实现,链接如下:阿里云 界面描述还是比较详细的,展示了短信服务的完整流程快速学习短信 ...
- 短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求
前言 承接前文<短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜>,在解决了短信发送的问题后,长长地舒了口气,也就各忙各的事情去了,本以为应该是个完美的收场,哪知道只是泥泞道路的 ...
- 阿里云短信服务(完整指南),短信发送功能实现。
本篇文章是根据阿里云短信接口,为什么选择阿里呢,首先,名气大,然后,对其他云不熟,最后,阿里云短信开通后只需要充十块钱,就够你用好久,一条四分钱,其他短信不太清楚,不过有的必须要你一次性买多少万条才能 ...
最新文章
- Python计算大文件行数方法及性能比较
- Debian GNU/Linux 9 将切换至 GCC6 编译器
- java bean id_在 JSP中使用JavaBean的标签是 ,其中 id的用途是 __________________学小易找答案...
- 销货清单数据_2020年8月数据科学阅读清单
- request对象作为:作用域
- java跨库调用存储_java-调用spring数据其余存储库方法不会返回...
- Java失宠,谷歌宣布Kotlin现在是Android开发的首选语言
- Snake活动轮廓模型Matlab实现
- 小米6自动重启android,小米6总是自动重启怎么办?小米6自动重启的解决方法
- 传输层常见的协议及端口
- 金盾2016视频加密器修改播放器多机播放遇到的问题
- python中response是什么意思_对python中各个response的使用说明
- 游戏中掉落效果的实现
- 如何在Google表格中直接使用Google翻译
- linux 中find命令下的-type f 代表什么意思
- Rimworld Mod制作教程1 认识Mod结构
- 利用计算机设计比率分析模型,计算机财务管理.pdf
- Math数学方法,String字符串型、Date日期
- Type interface mapper.UserMapper is not known to the MapperRegistry
- 662k贴片三极管,662K稳压芯片的规格书泛海微FS6206A33M
热门文章
- 【欧拉降幂公式】【欧拉函数】
- 3dmax计算机组装动画,3dmax怎么做动画,教你3dsmax动画制作流程和基本套路
- 苹果公司是如何“驻厂“管理供应商的
- google 安装去广告插件
- firefox浏览器一分钟去广告--去广告插件安装教程(adblock plus)
- L1-4 拯救外星人
- 四电极体脂称解决方案——测量原理
- IceSword冰刃使用方法
- No such file or directory @ rb_sysopen
- Vue过滤器filter和filters的使用详解