当前位置: 首页 > news >正文

食品网站制作聚合搜索引擎

食品网站制作,聚合搜索引擎,html前端开发,行政机关单位网站建设业务场景为限制消息发送,要求每天不超过一次,每七天不超过三次。 Redission 的 RRateLimiter 虽然功能完备且支持自定义限流配置,但是每个限流器都需要维护三个 key,并且 lua 脚本中的判断逻辑较为复杂。 见:Redisso…

业务场景为限制消息发送,要求每天不超过一次,每七天不超过三次

Redission 的 RRateLimiter 虽然功能完备且支持自定义限流配置,但是每个限流器都需要维护三个 key,并且 lua 脚本中的判断逻辑较为复杂。

见:Redisson 分布式限流器 RRateLimiter 的使用及原理

此外,本业务场景每次固定只需要获取一个令牌,且时间等限流参数固定,因此完全可以通过一个 sorted set 实现令牌桶限流。

对应 lua 脚本:

-- sorted set 令牌桶的 key 
local key = KEYS[1];
-- 当前日期 格式为 yyyy-MM-dd
local member = ARGV[1];
-- 当前日期 0 点对应的时间戳 单位为秒
local timestamp = tonumber(ARGV[2]);local exists = redis.call('exists', key);
if exists == 0 then-- 创建并授权redis.call('zadd', key, timestamp, member);redis.call('expire', key, 7 * 24 * 60 * 60);return 1;
else-- 移除七天前的授权记录 本质是回收令牌local sevenDaysAgo = timestamp - 7 * 24 * 60 * 60;redis.call('zremrangebyscore', key, '-inf', sevenDaysAgo);-- 如果队列长度少于 3 则尝试进行授权local length = redis.call('zcard', key);if length < 3 thenlocal count = redis.call('zcount', key, timestamp, timestamp);if (count == 0) then-- 每天不超过一次redis.call('zadd', key, timestamp, member);redis.call('expire', key, 7 * 24 * 60 * 60);return 1;elsereturn 0;end;elsereturn 0;end;
end;
http://www.hrbkazy.com/news/8198.html

相关文章:

  • b2c商城网站建设目的广州网络推广seo
  • 建网站书籍2023年10月疫情还会严重吗
  • 上海免费网站建设青岛网站设计制作
  • 网站图片优化器咖啡的营销推广软文
  • 专业建设网站广告联盟接单平台
  • 做兼职那个网站比较好北京百度推广代理公司
  • 江苏做家纺的公司网站英文站友情链接去哪里查
  • 电商直播app开发公司seo研究中心论坛
  • 中国建设银行网站宁波互联网营销模式有哪些
  • 有什么好的网站做推广的长春网站建设技术支持
  • wordpress如何导出数据广西seo
  • 做科技公司的网站公司情感营销案例
  • wordpress怎么加动态背景图图片深圳谷歌seo推广
  • 重庆公司专业建站百度权重等级
  • 泰州做网站的企业搜索引擎优化
  • php网站模板怎么修改百度app关键词优化
  • 专业的网站建设多少钱军事新闻最新24小时
  • 国际网站建设与维护app推广接单渠道
  • 织梦网站栏目不能更新学技术的培训学校
  • 海兴网站建设广告引流推广平台
  • 需要郑州网站建设深圳百度关键字优化
  • 怎么创建图片网站什么是白帽seo
  • 网页设计与网站开发论文一份完整的品牌策划方案
  • 网站建设公司盈利模式软件开发外包平台
  • 哪些网站可以做产品推广网站域名解析ip查询
  • 移动微网站开发线上推广渠道有哪些方式
  • 晋江做任务的网站青岛谷歌优化
  • 北京建站的网站点击量统计
  • 一个专做里番的网站深圳外贸seo
  • 蜘蛛云建站网站海豹直播nba