麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Redis > 正文

Redis實現高并發計數器

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

業務需求中經常有需要用到計數器的場景:譬如一個手機號一天限制發送5條短信、一個接口一分鐘限制多少請求、一個接口一天限制調用多少次等等。使用Redis的Incr自增命令可以輕松實現以上需求。以一個接口一天限制調用次數為例:

 /** * 是否拒絕服務 * @return */ private boolean denialOfService(String userId){ long count=JedisUtil.setIncr(DateUtil.getDate()+"&"+userId+"&"+"queryCarViolation", 86400); if(count<=10){  return false; } return true; }
/** * 查詢違章 * @param plateNumber車牌 * @param vin 車架號 * @param engineNo發動機 * @param request * @param response * @throws Exception */ @RequestMapping("/queryCarViolationList.json") @AuthorizationApi public void queryCarViolationList(@CurrentToken Token token,String plateNumber,String vin,    String engineNo,HttpServletRequest request,HttpServletResponse response) throws Exception {   String userId=token.getUserId();      //超過限制,攔截請求   if(denialOfService(userId)){  apiData(request, response, ReqJson.error(CarError.ONLY_5_TIMES_A_DAY_CAN_BE_FOUND));  return;   } //沒超過限制,業務邏輯…… }

每次調用接口之前,先獲得下計數器自增后的值,如果小于限制,放行,執行后面的代碼。如果大于限制,則攔截掉。

JedisUtil工具類:

public class JedisUtil { protected final static Logger logger = Logger.getLogger(JedisUtil.class); private static JedisPool jedisPool;  @Autowired(required = true) public void setJedisPool(JedisPool jedisPool) { JedisUtil.jedisPool = jedisPool; } /** * 對某個鍵的值自增 * @author liboyi * @param key 鍵 * @param cacheSeconds 超時時間,0為不超時 * @return */ public static long setIncr(String key, int cacheSeconds) { long result = 0; Jedis jedis = null; try {  jedis = jedisPool.getResource();  result =jedis.incr(key);  if (cacheSeconds != 0) {  jedis.expire(key, cacheSeconds);  }  logger.debug("set "+ key + " = " + result); } catch (Exception e) {  logger.warn("set "+ key + " = " + result); } finally {  jedisPool.returnResource(jedis); } return result; }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Redis頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级免费高清 | 国产精品一二区 | 精品一区二区三区免费毛片爱 | 亚洲精品在线观看免费 | 日本中文高清 | 免费在线观看成人av | 欧美三区在线 | 国产成年人在线观看 | 曰韩一二三区 | 色人阁导航 | 欧美综合日韩 | 久久成人在线观看 | 成人视屏在线 | 欧美色大成网站www永久男同 | 在线看小早川怜子av | 九九视屏 | 国产毛片视频 | h视频在线免费观看 | 免费看一级片 | av电影网站在线观看 | 久久精品视频一区二区三区 | 国产一级一区二区三区 | 国产男女 爽爽爽爽视频 | 国产无遮挡一区二区三区毛片日本 | 爱福利视频 | chengrenzaixian | 哪里可以看免费的av | 毛片韩国| 国产免费一区二区三区在线能观看 | 欧美jizzhd极品欧美 | 7777网站| 亚洲精品成人久久久 | 欧美一级爱爱 | 7777久久香蕉成人影院 | 国产精品视频一区二区三区综合 | 亚洲国产精品久久久久久久 | 国产亚洲精品综合一区91 | 久久人人av | 91av在线免费播放 | 久久不射电影 | 欧美亚洲国产一区二区三区 |