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

com.github.xiaolyuh.setting.SecondaryCacheSetting Maven / Gradle / Ivy

package com.github.xiaolyuh.setting;

import java.io.Serializable;
import java.util.concurrent.TimeUnit;

/**
 * 二级缓存配置项
 *
 * @author yuhao.wang
 */
public class SecondaryCacheSetting implements Serializable {
    /**
     * 缓存有效时间
     */
    private long expiration;

    /**
     * 缓存主动在失效前强制刷新缓存的时间
     */
    private long preloadTime;

    /**
     * 时间单位 {@link TimeUnit}
     */
    private TimeUnit timeUnit;

    /**
     * 是否强制刷新(走数据库),默认是false
     */
    private boolean forceRefresh = false;

    /**
     * 是否使用缓存名称作为 redis key 前缀
     */
    private boolean usePrefix;

    /**
     * 是否允许存NULL值
     */
    private boolean allowNullValues;

    public SecondaryCacheSetting() {
    }

    /**
     * @param expiration   缓存有效时间
     * @param preloadTime  缓存刷新时间
     * @param timeUnit     时间单位 {@link TimeUnit}
     * @param forceRefresh 是否强制刷新
     */
    public SecondaryCacheSetting(long expiration, long preloadTime, TimeUnit timeUnit, boolean forceRefresh) {
        this.expiration = expiration;
        this.preloadTime = preloadTime;
        this.timeUnit = timeUnit;
        this.forceRefresh = forceRefresh;
        this.usePrefix = true;
        this.allowNullValues = true;
    }

    public long getExpiration() {
        return expiration;
    }

    public void setExpiration(long expiration) {
        this.expiration = expiration;
    }

    public long getPreloadTime() {
        return preloadTime;
    }

    public void setPreloadTime(long preloadTime) {
        this.preloadTime = preloadTime;
    }

    public TimeUnit getTimeUnit() {
        return timeUnit;
    }

    public void setTimeUnit(TimeUnit timeUnit) {
        this.timeUnit = timeUnit;
    }

    public boolean isForceRefresh() {
        return forceRefresh;
    }

    public void setForceRefresh(boolean forceRefresh) {
        this.forceRefresh = forceRefresh;
    }

    public boolean isUsePrefix() {
        return usePrefix;
    }

    public void setUsePrefix(boolean usePrefix) {
        this.usePrefix = usePrefix;
    }

    public boolean isAllowNullValues() {
        return allowNullValues;
    }

    public void setAllowNullValues(boolean allowNullValues) {
        this.allowNullValues = allowNullValues;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy