redis
文章平均质量分 70
笑不语
亲爱的自己,请逼自己变得优秀,然后骄傲地生活
展开
-
基于redis实现IP访问频次控制(超简单)
一、背景描述 最近做了一个项目,通过调用短信网关实现手机号和验证码登录。但是如果有人恶意调用,会发出很多无谓的短信,而且会增加短信服务的费用。于是对接口做了请求频率限制 Rate limiting。例如限制一个用户1分钟内最多可以范围100次。这里简要的复现一下实现思路。 思路:以类名+调用方法名+ip作为key 当用户调用接口的时候,先查询redis中是否有存在该key,获取该key所对应的value,比较value和frequency,如果小于frequency,则在原来的基础上value++;如果大原创 2021-03-26 11:49:27 · 520 阅读 · 0 评论 -
基于redis和shedlock实现分布式锁(超简单)
一、背景 线上部署了两台服务器,通过nginx轮询的方式进行负载均衡。但是这样存在一个问题同一个用户的session共享问题。你或许会说,使用ipHash模式就可以解决session共享的问题,是的确实可以解决这个问题,但是同样也会带来另外一个问题,就是一台服务器很繁忙,另外一台服务器闲置的情况。所以为了避免服务器闲置的现象,我们采用了ip轮询和共享session存入redis的解决方案。不过今天要讲的主题不是这个,我们在单机测试的时候完全运行正常,但是部署了到正式的环境的时候出现了客户支付金额对应不上的情原创 2021-03-25 10:17:26 · 624 阅读 · 0 评论 -
基于redis实现IP访问频次控制(超简单)
一、背景描述 最近做了一个项目,通过调用短信网关实现手机号和验证码登录。但是如果有人恶意调用,会发出很多无谓的短信,而且会增加短信服务的费用。于是对接口做了请求频率限制 Rate limiting。例如限制一个用户1分钟内最多可以范围100次。这里简要的复现一下实现思路。 思路:以类名+调用方法名+ip作为key 当用户调用接口的时候,先查询redis中是否有存在该key,获取该key所对应的value,比较value和frequency,如果小于frequency,则在原来的基础上value++;如果大原创 2020-09-22 00:30:07 · 1343 阅读 · 0 评论