本文整理汇总了Java中redis.clients.jedis.Jedis.ttl方法的典型用法代码示例。如果您正苦于以下问题:Java Jedis.ttl方法的具体用法?Java Jedis.ttl怎么用?Java Jedis.ttl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类redis.clients.jedis.Jedis
的用法示例。
在下文中一共展示了Jedis.ttl方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: ttl
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
public Long ttl(String key) {
log.trace("get set expire " + key);
Jedis jedis = null;
try {
jedis = redisConnection.getJedis();
jedis.select(dbIndex);
return jedis.ttl(key);
} catch (Exception e) {
log.warn(e.getMessage(), e);
} finally {
if (jedis != null) {
jedis.close();
}
}
return -2L;
}
示例2: getKeyTTL
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
/**
* 获取key的剩余时间
*
* @param key
* @return
*/
public long getKeyTTL(String key) {
Jedis jedis = null;
long ret = 0;
// Set<String> keys = null;
boolean success = true;
try {
jedis = jedisPool.getResource();
if (jedis == null) {
success = false;
return ret;
}
ret = jedis.ttl(key);
} catch (Exception e) {
success = false;
returnBrokenResource(jedis, "key ttl", e);
} finally {
releaseReidsSource(success, jedis);
}
return ret;
}
示例3: ttl
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
public long ttl(String key) {
Jedis jedis = jedisPool.getResource();
Long result = null;
try {
result = jedis.ttl(key);
} catch (Exception e) {
jedisPool.returnBrokenResource(jedis);
} finally {
jedisPool.returnResource(jedis);
}
return result;
}
示例4: getExpireSeconds
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
/**
* 获取key的剩余过期时间,单位:秒
*
* @param key key
* @return Long
*/
public Long getExpireSeconds(String key) {
Jedis jedis = null;
try {
jedis = getConnect();
return jedis.ttl(key.getBytes());
} catch (Exception e) {
logger.error("redis getRedisData data failed!", e);
return null;
} finally {
close(jedis);
}
}
示例5: ttl
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public Long ttl(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.ttl(key);
jedis.close();
return result;
}
示例6: isKeyMatchAndAlive
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
private boolean isKeyMatchAndAlive(Jedis jedis, String key, String value) {
long ttl = jedis.ttl(key);
if (ttl < 0) {
return false;
}
String valueInRedis = jedis.get(key);
if (valueInRedis == null || !valueInRedis.equals(value)) {
return false;
}
return true;
}
示例7: lockQueue
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
private boolean lockQueue(String queueID) {
if (locked.get() == null) {
synchronized (this) {
if (locked.get() == null) {
locked.set(new AtomicInteger(0));
}
}
}
if (locked.get().incrementAndGet() > 1) {
return true;
}
Jedis jedis = jedisPool.getResource();
try {
String redisLockKey = makeRedisLockKey(queueID);
long lockRequestTime = System.currentTimeMillis();
while (true) {
String result = jedis.set(redisLockKey, "lockTheQueue", "NX", "EX", 120);
if (StringUtils.isNotEmpty(result) && result.equalsIgnoreCase("OK")) {
return true;
}
if (lockRequestTime + lockWaitTimeStamp > System.currentTimeMillis()) {
locked.get().decrementAndGet();
return false;
}
long sleepTime = jedis.ttl(redisLockKey) * 1000 - 10;
if (sleepTime > lockRequestTime) {
return false;
}
if (sleepTime > 0) {
CommonUtil.sleep(sleepTime / 4);
}
}
} finally {
IOUtils.closeQuietly(jedis);
}
}
示例8: lockQueue
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
private boolean lockQueue(String queueID) {
if (locked.get() == null) {
synchronized (this) {
if (locked.get() == null) {
locked.set(new AtomicInteger(0));
}
}
}
boolean ret = false;
@Cleanup Jedis jedis = jedisPool.getResource();
if (locked.get().incrementAndGet() > 1) {
return true;
}
String redisLockKey = makeRedisLockKey(queueID);
long lockRequestTime = System.currentTimeMillis();
while (true) {
String result = jedis.set(redisLockKey, "lockTheQueue", "NX", "EX", 120);
if (StringUtils.isNotEmpty(result) && result.equalsIgnoreCase("OK")) {
ret = true;
break;
}
if (lockRequestTime + lockWaitTimeStamp < System.currentTimeMillis()) {
locked.get().decrementAndGet();
break;
}
long sleepTime = jedis.ttl(redisLockKey) * 1000 - 10;
if (sleepTime > lockRequestTime) {
return false;
}
if (sleepTime > 0) {
CommonUtil.sleep(sleepTime);
}
}
return ret;
}
示例9: isKeyAlive
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
private boolean isKeyAlive(Jedis jedis, String key) {
long ttl = jedis.ttl(key);
return (ttl > 0);
}