redis 失效时间单位是秒还是毫秒_【redis中键的生存时间(expire) 】
/*** 限制网站访客访问频率(例如:1分钟最多访问10次),其中: 访客通过IP标识,即同一个IP在1分钟内仅能访问10次*/@Testpublic voidtest4(){final String ip = "127.0.0.1";
Jedis redis= null;//模拟同一个用户连续访问20次
for(int i =0;i <20;i ++){boolean t =validate(ip);if(t ){
System. out.println("恭喜你,购票成功!" +i );
}else{//获取当前ip过期时间
redis =getRedis();break;
}
}while(true &&redis.ttl(ip)>0){
System. out.println("抱歉,你访问过度频繁,请" +redis .ttl(ip )+"秒后再来访问!");try{
Thread. sleep(1000);
}catch(InterruptedException e ) {
e.printStackTrace();
}
}
System. out.println("你可以再次访问了");
}/***
*@paramip
*@returntrue: 可以访问,false: 表示已经达到最大上线*/
public booleanvalidate( String ip ) {
Jedis jedis=getRedis();
String value=jedis.get( ip);if(value ==null||value.length()==0){ //第一次访问
jedis.setex( ip, 60,String. valueOf(0));
}else{int v =Integer.parseInt (value );if(v >=10){return false;
}
}
jedis.incr( ip);return true;
}/***@return
*/
publicJedis getRedis() {
jedisPool=getJedisPool();
Jedis jedis=jedisPool.getResource();returnjedis ;
}/****/
publicJedisPool getJedisPool() {
JedisPoolConfig poolConfig= newJedisPoolConfig();//控制一个pool最多有多少个 jedis实例。
poolConfig.setMaxTotal(1000);//控制一个pool最多有多少个状态为idle(空闲的)的 jedis实例。
poolConfig.setMaxIdle(10);//表示当borrow(引入)一个 jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
poolConfig.setMaxWaitMillis(200000);//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的 jedis实例均是可用的;
poolConfig.setTestOnBorrow(true);return newJedisPool(poolConfig, host, port);
}
redis 失效时间单位是秒还是毫秒_【redis中键的生存时间(expire) 】相关推荐
- redis 失效时间单位是秒还是毫秒_经常用Redis,这些坑你知道吗?
文章转载自二马读书,作者二马读书 作者简介:曾任职于阿里巴巴,每日优鲜等互联网公司,任技术总监,15年电商互联网经历. 近些年,Redis凭借在性能.稳定性和高可扩展性上的卓越表现,基本上已经成了互联 ...
- redis 失效时间单位是秒还是毫秒_redis分布式锁的这些坑,我怀疑你是假的开发...
摘要:用锁遇到过哪些问题? 一.白话分布式 什么是分布式,用最简单的话来说,就是为了较低单个服务器的压力,将功能分布在不同的机器上面:就比如: 本来一个程序员可以完成一个项目:需求->设计-&g ...
- redis 失效时间单位是秒还是毫秒_Redis有效时间设置及时间过期处理
本文对redis的过期处理机制做个简单的概述,让大家有个基本的认识. Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间.作为一个缓存数据库,这是非常实用的.如我 ...
- redis 失效时间单位是秒还是毫秒_redis设置过期时间
一般主要包括4种处理过期方,其中expire都是以秒为单位,pexpire都是以毫秒为单位的. 1 EXPIRE key seconds //将key的生存时间设置为ttl秒 2 PEXPIRE ke ...
- redis 失效时间单位是秒还是毫秒_redis键过期时间的应用
expire 设置生存时间(单位/秒) pexpire设置生存时间(单位/毫秒) ttl/pttl 查看键的剩余生存时间 persist 取消生存时间 expireat [key] unix时间戳13 ...
- redis 失效时间单位是秒还是毫秒_Redis 事务与过期时间详细介绍
Redis 事务与过期时间详细介绍 一.Redis事务: Redis中支持事务,事务即为当我们需要执行几条命令时,要么这几条命令都不执行,要么都执行: 1.开始事务写入: multi 2.然后写入命令 ...
- 多少秒算长镜头_电影中什么是长镜头画面(9个经典长镜头)
长镜头,俗称"一镜到底".顾名思义是指用比较长的时间,对一场戏(一个场景)进行连续性拍摄,从而形成时间和空间上的连贯性.长镜头一般分为运动长镜头.固定长镜头.景深长镜头和变焦长镜头 ...
- 多少秒算长镜头_电影中几秒以上算长镜头
展开全部 长镜头并没32313133353236313431303231363533e78988e69d8331333431356661有绝对的标准,是相对而言较长的单一镜头.通常用来表达导演的特定构 ...
- Redis设计与实现详解二:Redis数据库实现
Redis设计与实现详解一:数据结构与对象 Redis设计与实现详解三:多机功能实现 Redis设计与实现详解四:其他单机功能 数据库 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态 ...
最新文章
- 【C语言】控制台窗口图形界面编程(一)句柄和文本属性
- CSS自定义消息提示
- BugkuCTF-WEB题源码
- Wolf QOS 教程
- Lc695-岛屿的最大面积
- 在docker中配置apt工具与python的源均为国内源
- Linux 桌面版为什么打不过 Window?Linus 现身说法!
- Windows Server 2012 配置 Remote Desktop Service VDI
- CAD迷你看图V9.5版
- Deepin安装到移动硬盘
- 一秒知道光纤、光缆、跳线、尾纤、连接器类型
- 资深 iOS 开发工程师教你5 道题全面考察候选人
- STM32的内部参照电压VREFINT(1.2V)和ADC参考电压Vref+如何区分呢
- 说得清的Epoll原理
- iphonex正面图_iPhoneX高清全方位图赏
- evo评测VINS-MONO---代码修改、数据格式转换、数据测试
- JAVA并发编程-synchronized-脏读
- jQuery方法返回jQuery对象还是DOM对象
- 静态手势识别总体方案
- 搬砖之路----MusicPlayer 一个基于Vlc(2.0+)开发的android音乐播放器--浅析在android开发过程中播放器选择之路!
热门文章
- php中MySQL数据库导入与导出_Mysql数据库导出和导入
- 九个console命令调试JS
- onclick 传参,用转义符进行转义。
- Spring boot验证码前后端验证
- java在面板中点击按钮后弹出对话框
- Bootstrap3基础 下载bootstrap3压缩包和相应的jQuery文件
- [BZOJ 2957]楼房重建(线段树)
- 使用OpenSSL为支付宝生成RSA私钥
- 【转】Android 轻松实现语音识别
- 【Visual C++】游戏开发笔记四十 浅墨DirectX教程之八 绘制真实质感的三维世界:光照与材质专场...