返回顶部
首页 > 资讯 > 精选 >怎么在Java中利用Redis实现一个高并发计数器功能
  • 242
分享到

怎么在Java中利用Redis实现一个高并发计数器功能

2023-06-06 12:06:48 242人浏览 薄情痞子
摘要

这篇文章主要介绍了怎么在Java中利用Redis实现一个高并发计数器功能,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、WEB应用程序、

这篇文章主要介绍了怎么在Java中利用Redis实现一个高并发计数器功能,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!

Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序、WEB应用程序、分布式系统和嵌入式系统应用程序。

以一个接口一天限制调用次数为例:

  private boolean denialOfService(String userId){ long count=JedisUtil.setIncr(DateUtil.getDate()+"&"+userId+"&"+"queryCarViolation", 86400); if(count<=10){  return false; } return true; }
 @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; }  public static long setIncr(String key, int cacheSeconds) { long result = 0; Jedis jedis = null; try {  jedis = jedisPool.getResource();  result =jedis.incr(key);  if (result<=1 && 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; }}

以上就是编程网小编为大家收集整理的怎么在Java中利用Redis实现一个高并发计数器功能,如何觉得编程网网站的内容还不错,欢迎将编程网网站推荐给身边好友。

--结束END--

本文标题: 怎么在Java中利用Redis实现一个高并发计数器功能

本文链接: https://lsjlt.com/news/246903.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在Java中利用Redis实现一个高并发计数器功能
    这篇文章主要介绍了怎么在Java中利用Redis实现一个高并发计数器功能,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、...
    99+
    2023-06-06
  • Redis中怎么实现一个计数器功能
    这期内容当中小编将会给大家带来有关Redis中怎么实现一个计数器功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用字符串键下面代码演示了如何利用 Redis 中的字符...
    99+
    2024-04-02
  • 利用java怎么实现一个倒计时功能
    这期内容当中小编将会给大家带来有关利用java怎么实现一个倒计时功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。代码如下:package timer;import java.util.Calendar;...
    99+
    2023-05-31
    java ava
  • 怎么在Java中利用JavaMail实现一个邮件发送功能
    这期内容当中小编将会给大家带来有关怎么在Java中利用JavaMail实现一个邮件发送功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 电子邮件协议电子邮件的在网络中传输和网页一样需要遵从特定的协议...
    99+
    2023-05-31
    java javamail ava
  • 利用Java怎么实现一个整数乘积计算功能
    利用Java怎么实现一个整数乘积计算功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。计算机计算整数乘积的原理:实现代码:package math;public...
    99+
    2023-05-31
    java ava
  • 利用Servlet怎么实现一个点击计数器功能
    这期内容当中小编将会给大家带来有关利用Servlet怎么实现一个点击计数器功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、Web页面的点击计数器以下是基于Servlet生命周期实现一个简单的页面点击...
    99+
    2023-05-31
    servlet
  • 怎么在Android中利用CountDownTimer实现一个倒计时功能
    这篇文章主要介绍了怎么在Android中利用CountDownTimer实现一个倒计时功能,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:Android是什么Android是一种基于Lin...
    99+
    2023-05-30
    android countdowntimer
  • 怎么在Java中利用JDBC实现一个事务功能
    本文章向大家介绍怎么在Java中利用JDBC实现一个事务功能,主要包括怎么在Java中利用JDBC实现一个事务功能的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java是什么Java是一门面...
    99+
    2023-05-30
  • 怎么在Java项目中利用rabbitMQ实现一个消息收发功能
    怎么在Java项目中利用rabbitMQ实现一个消息收发功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java实现rAMQP,即Advanced Message Queui...
    99+
    2023-05-31
    java rabbitmq ava
  • 怎么在Android应用中利用View实现一个倒计时功能
    这篇文章将为大家详细讲解有关怎么在Android应用中利用View实现一个倒计时功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Android 自定义View实现倒计时需求:具体方法如下:...
    99+
    2023-05-31
    android roi view
  • 怎么在Android中实现一个计步器功能
    本篇文章给大家分享的是有关怎么在Android中实现一个计步器功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。activity_main.xml<xml ve...
    99+
    2023-06-14
  • 利用servlet怎么实现一个转发功能
    利用servlet怎么实现一个转发功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.什么是servlet转发?  servlet将用户的请求通过一组serv...
    99+
    2023-05-31
    servlet
  • 怎么在Java中利用JUnit实现一个单元测试功能
    怎么在Java中利用JUnit实现一个单元测试功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。单元测试是编写测试代码,应该准确、快速地保证程序基本模块的正确性...
    99+
    2023-05-31
    java junit ava
  • 怎么在Java中利用JScrollPane实现一个面板滚动功能
    这篇文章将为大家详细讲解有关怎么在Java中利用JScrollPane实现一个面板滚动功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。       ...
    99+
    2023-05-31
    java jscrollpane ava
  • 利用Java怎么实现一个画板功能
    今天就跟大家聊聊有关利用Java怎么实现一个画板功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。基本的思路是这样的:画板实现大致分三部分:一是画板界面的实现,二是画板的监听以及画图...
    99+
    2023-05-31
    java ava
  • 怎么在python中利用后缀表达式实现一个计算器功能
    本文章向大家介绍怎么在python中利用后缀表达式实现一个计算器功能的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。前缀表达式运算符在数字的前面1 + (2 + 3) * 4 - 5 (中缀)- + 1 * + ...
    99+
    2023-06-06
  • 怎么在java中利用GUI实现一个加法计算器
    怎么在java中利用GUI实现一个加法计算器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据...
    99+
    2023-06-14
  • 怎么在java中实现一个sleep功能
    这篇文章给大家介绍怎么在java中实现一个sleep功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开...
    99+
    2023-06-14
  • 利用Java怎么实现一个分页查询并显示功能
    本篇文章为大家展示了利用Java怎么实现一个分页查询并显示功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。sql语句大概形式为:select * from table limit 开始索...
    99+
    2023-05-31
    java 分页查询 ava
  • 如何在android应用中利用service实现一个计时器功能
    本篇文章给大家分享的是有关如何在android应用中利用service实现一个计时器功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先建立主页面的设计:activity_t...
    99+
    2023-05-31
    android service roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作