A, 레디 스 만료 명령은, 뒤에 자동으로 삭제 레디 스 시간을 생존 기간의 결합을 설정하는 데 사용할 수 있습니다.
- 생존 기간 만료 설정 (/ 초에서)
- pexpire 제공 생존 시간 (/ 밀리 초)
- 검토 키의 TTL / pttl 남은 수명
- 생존 기간을 취소 지속
- expireat하는 열쇠 유닉스 소인 1,351,858,600
- pexpireat [키 (밀리 초) 유닉스 소인 1,351,858,700,000
둘째, 응용 프로그램 시나리오 :
- 기간 한정 프로모션
- 웹 사이트 데이터 캐시 (정기적 인 업데이트에 대한 필요성의 일부 데이터)
- 제한 사이트 방문자 (예 : 10 시간 1 분 액세스까지) 주파수에 액세스
액세스 제한 사이트 방문자의 셋째, 주파수
package com.chb.common.iface.database.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisUtil {
private final String host = "192.168.179.14";
private final int port = 6379;
public static void main(String[] args) {
RedisUtil redisUtil = new RedisUtil();
Jedis jedis = redisUtil.connect1();
for (int i = 0 ; i < 15; i++) {
boolean visited = redisUtil.checkLogin(jedis, "192.168.179.11");
System.out.println("是否允许访问:" + visited);
}
}
public boolean checkLogin(Jedis jedis, String key) {
String value = jedis.get(key);
if (value == null) {
jedis.set(key, "0");
jedis.expire(key, 60); // 设置生存周期60s
} else {
int count = Integer.parseInt(value);
if (count >= 10) {
System.out.println("当前访问频率过于频繁....");
return false;
}
}
jedis.incr(key); // 累加访问次数
return true;
}
public Jedis connect() {
Jedis jedis = new Jedis(host, port);
return jedis;
}
// 使用连接池
public Jedis connect1() {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(100);//总连接数
poolConfig.setMaxIdle(10);//空闲链接数
poolConfig.setMaxWaitMillis(3000);//创建连接的超时时间
poolConfig.setTestOnBorrow(true);//在创建连接的时候是否会测试
JedisPool jedisPool = new JedisPool(poolConfig, host, port);
// 通过连接池获取jedis 连接
Jedis jedis = jedisPool.getResource();
return jedis;
}
}