java中给key设置一年后过期
时间: 2024-05-01 18:21:57 浏览: 122
java操作Redis缓存设置过期时间的方法
在Java中,可以使用`java.util.concurrent.TimeUnit`类中的常量和`System.currentTimeMillis()`方法来计算时间。可以使用`Map`接口的实现类`HashMap`和`LinkedHashMap`中的`put()`和`get()`方法来实现键值对的存储和获取。为了设置一个键值对的过期时间为一年,可以在设置键值对时同时记录当前时间戳,然后在获取键值对时检查当前时间戳与记录的时间戳之差是否超过一年,如果超过,则表示该键值对已经过期,需要进行删除或替换。简单的示例代码如下:
```
import java.util.Map;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
public class MyCache {
private Map<String, Object> cache = new HashMap<>();
private Map<String, Long> timestamps = new HashMap<>();
public void put(String key, Object value) {
cache.put(key, value);
timestamps.put(key, System.currentTimeMillis());
}
public Object get(String key) {
Long timestamp = timestamps.get(key);
if (timestamp != null && System.currentTimeMillis() - timestamp < TimeUnit.DAYS.toMillis(365)) {
return cache.get(key);
} else {
cache.remove(key);
timestamps.remove(key);
return null;
}
}
// other methods
}
```
阅读全文