国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Redis > 正文

基于Redis的限流器的實現(示例講解)

2020-03-17 12:35:25
字體:
來源:轉載
供稿:網友

1 概述

系統中的接口通常都有限流,比如 70次/秒 ,如何保證我們的接口的調用次數在超過第三方接口限流的時候快速失敗呢?這時候就需要限流器了。下面是筆者用redis實現限流器的流程圖。

Redis,限流器

2 代碼

/** * 獲取限流權限 * @param key * @param millisecond 毫秒數 * @param limitCount 限流次數 * @return */public static boolean getCurrentLimiting(String key, Long millisecond, Integer limitCount){  try {    boolean currentLimitingLock = RedisDistributeLockUtil.lock(key);    if(currentLimitingLock){      Long llen = RedisClient.llen(getCurrentLimitingRedisKey(key));      if(llen < limitCount){        RedisClient.lpush(getCurrentLimitingRedisKey(key), DateUtil.current(false) + "");        return true;      }else{        Long lastTime = Long.parseLong(RedisClient.lindex(getCurrentLimitingRedisKey(key), -1));        if((DateUtil.current(false) - lastTime) >= millisecond){          RedisClient.lpush(getCurrentLimitingRedisKey(key), DateUtil.current(false) + "");          RedisClient.ltrim(getCurrentLimitingRedisKey(key), 0, limitCount);          return true;        }      }    }  }finally {    RedisDistributeLockUtil.unlock(key);  }  return false;}

以上這篇基于Redis的限流器的實現(示例講解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Redis頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莱芜市| 山东| 湖北省| 桐城市| 张北县| 广宗县| 静安区| 沁水县| 纳雍县| 宣化县| 大丰市| 宁陵县| 邹城市| 呈贡县| 都江堰市| 扶风县| 彭山县| 苍山县| 元江| 湘潭市| 福州市| 筠连县| 保定市| 塔河县| 宕昌县| 中西区| 大兴区| 澳门| 突泉县| 赤水市| 绥江县| 莱芜市| 玉龙| 禄丰县| 西平县| 敖汉旗| 明星| 海原县| 赫章县| 策勒县| 同心县|