All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.bingoohuang.utils.redis.RedisLocker Maven / Gradle / Ivy

package com.github.bingoohuang.utils.redis;

import com.github.bingoohuang.utils.time.DateTimes;
import lombok.RequiredArgsConstructor;
import lombok.val;
import org.joda.time.DateTime;
import redis.clients.jedis.Jedis;

import java.io.Closeable;

@RequiredArgsConstructor
public class RedisLocker implements Closeable {
    private final Jedis jedis;
    private final String key;

    @Override public void close() {
        jedis.del(key);
    }

    public boolean tryLock() {
        val ret = jedis.set(key, DateTimes.formatDateTime(DateTime.now()), "nx", "ex", 10);
        return "OK".equals(ret);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy