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

com.github.houbb.hades.api.context.persist.ILoadContext Maven / Gradle / Ivy

The newest version!
package com.github.houbb.hades.api.context.persist;

import com.github.houbb.hades.api.core.cache.ICache;

import java.util.Map;

/**
 * 加载接口上下文
 * 1. 如果持久化存储的是字符串,是否存在编码问题
 * 1.1 文件的加载路径地址
 * 2. 判断是否存在并发情况:一次只允许一个进程进行持久化。加载只有一次,可以不考虑。
 * 3. 持久化采用异步调用,避免阻塞主进程。加载不需要,直接加载即可。
 * 4. 是否可以让加载变得简单化
 * 比如固定使用 HDB 模式,如果持久化使用 AOF,则定期将 AOF 转换为 HDB 文件。
 * 5. 内容组成
 * (1)HADES:版本号。考虑到不同版本之间可能不兼容。版本号可以 major.version 保证兼容即可。
 * (2)key:value:expireTime  k/v 可以存储 byte 流,expireTime 依然使用时间戳。为了简化操作,每一行是独立的。
 * 如果是 AOF 模式,这里全是指令。每一行是一个唯一的指令。
 * (3)checksum 校验和,可以不加。用来判断文件是否毁坏。
 * 如果文件损坏,是否有补救措施?
 *
 * @author binbin.hou
 * @since 0.0.1
 * @param  泛型
 */
public interface ILoadContext {

    /**
     * 文件路径
     *
     * @return 文件路径
     * @since 0.0.5
     */
    String path();

    /**
     * 文件编码
     *
     * @return 编码
     * @since 0.0.5
     */
    String charset();

    /**
     * 缓存信息
     *
     * @return 缓存信息
     */
    ICache cache();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy