cn.katool.store.util.cache.utils.CaffeineUtils Maven / Gradle / Ivy
The newest version!
package cn.katool.store.util.cache.utils;
import com.github.benmanes.caffeine.cache.Cache;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentMap;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Slf4j
public class CaffeineUtils {
@NotNull
private Cache cache;
public Cache getCache() {
return this.cache;
}
// =================================================================
// 获取缓存
/**
* 依据key获取value, 如果未找到, 返回null
*
* @return Object
*/
public V get(@NotNull K key) {
// 就是相当于cache.getIfPresent(key)
return cache.asMap().get(key);
}
/**
* 依据key获取value, 如果未找到, 返回null
*
* @return Object
*/
public V getIfPresent(@NotNull K key) {
// 就是相当于get(key)
return cache.getIfPresent(key);
}
/**
* 批量依据key获取value
*
* @return Object
*/
public Map getBatch(@NotNull List