Expire 的一些案例
192字小于1分钟
2024-08-10
数据过期
/**
* @ClassName ExpireDemo
* @Desciption 数据自动过期案例
* @Author MaRui
* @Date 2021/8/30 19:38
* @Version 1.0
*/
public class ExpireDemo {
private static Jedis jedis = new Jedis("127.0.0.1", 6379);
public static void main(String[] args) throws InterruptedException {
jedis.set("test_key", "test_value");
jedis.expire("test_key", 5);
TimeUnit.SECONDS.sleep(6);
String testValue = jedis.get("test_key");
System.out.println("数据是否过期:" + ((testValue == null || "null".equals(testValue)) ? "是" : "否"));
}
}
锁的超时释放
/**
* @ClassName TimeoutDistributeLockDemo
* @Desciption 支持超时自动释放的分布式案例
* @Author MaRui
* @Date 2021/8/30 19:44
* @Version 1.0
*/
public class TimeoutDistributeLockDemo {
private static Jedis jedis = new Jedis("127.0.0.1", 6379);
public static void main(String[] args) {
TimeoutDistributeLockDemo demo = new TimeoutDistributeLockDemo();
demo.lock("test_lock", "test_value");
boolean result = demo.lock("test_lock", "test_value2");
System.out.println("第二次加锁结果:" + result);
}
/**
* 加锁
* @param key
* @param value
*/
public boolean lock(String key, String value) {
long result = jedis.setnx(key, value);
jedis.expire(key, 10);
return result > 0;
}
public void unlock(String key) {
jedis.del(key);
}
}