LazyFileCacheStore 类
由本地文件系统支持的缓存存储。
我们认为这是一个“惰性”存储,因为它不会预先提取 saved_as 信息。 只需改为加载元数据并利用文件扩展名来反序列化对象。
此缓存存储支持具有命名空间的键(作为 posix 路径),以帮助区分 b/w 重复键(即可以添加键“foo/bar/a”和“a”),因为前者位于与后者(默认命名空间下)不同的命名空间 (foo/bar) 下。 如果添加了多个具有相同名称和命名空间的键,则将覆盖这些值(即,以最后一次写入为准)。 基础存储机制会创建由命名空间表示的子目录,用于存储该键表示的序列化对象。 例如,完全限定的键(如“foo/bar/a”)将在根缓存文件夹下创建所需的子目录 “$CACHE_ROOT/foo/bar”,并将序列化的文件存储在该文件夹下。
若要将具有命名空间的键与此缓存存储一起使用,请在调用 add() 或 set() 方法时传入 posix 格式的键。 例如 cache_store.set(“a/new/directory/my_key”,这是 my_key 的值)
从缓存存储中检索键时(通过 . cache_store.get(...)),客户端可以选择包括或忽略默认命名空间。 例如,如果将“_foo”添加到缓存存储,cache_store.get([DEFAULT_NAMESPACE_foo]) 和 cache_store.get(["_foo"]) 都将导致缓存命中(通过 . cache_store.add(["_foo], ...))
- 继承
-
LazyFileCacheStore
构造函数
LazyFileCacheStore(path: str)
参数
- path
方法
| add |
序列化值,并将其添加到缓存和本地文件系统。 |
| add_dir |
将有效的本地目录添加到缓存存储。 添加 dir 键后,将不允许使用任何 dir 键作为前缀的新键。 这是为了使 dir 键内的内容保持一致并防止任何文件冲突。 例如,如果添加 dir 键“/foo/bar”,然后添加“/foo/bar/a”,则会引发异常。 |
| get |
从存储中获取反序列化的对象。 |
| get_available_keys |
获取缓存存储中可用的文件,并创建指向其在基础存储上路径的键(带有文件扩展名)的映射。此方法通过指定的路径下的可用文件 以递归方式发现键。 |
| get_dir |
获取目录的本地路径。 |
| load |
从存储中加载。 |
| remove |
从存储区中删除键。 |
| remove_all |
从存储中删除所有缓存。 |
| set |
设置为“存储”。 |
| unload |
从存储中卸载。 |
add
序列化值,并将其添加到缓存和本地文件系统。
add(keys: Iterable[str], values: Iterable[Any]) -> None
参数
- keys
存储键
- values
存储值
add_dir
将有效的本地目录添加到缓存存储。
添加 dir 键后,将不允许使用任何 dir 键作为前缀的新键。 这是为了使 dir 键内的内容保持一致并防止任何文件冲突。 例如,如果添加 dir 键“/foo/bar”,然后添加“/foo/bar/a”,则会引发异常。
add_dir(key: str, path: str) -> None
参数
get
从存储中获取反序列化的对象。
get(keys: Iterable[str], default: Optional[Any] = None) -> Dict[str, Any]
参数
- keys
存储键
- default
如果不存在,则返回默认值
返回
反序列化的对象
get_available_keys
获取缓存存储中可用的文件,并创建指向其在基础存储上路径的键(带有文件扩展名)的映射。此方法通过指定的路径下的可用文件 以递归方式发现键。
get_available_keys(path: str) -> Dict[str, str]
参数
- path
返回
存储上的键及其对应路径的字典
get_dir
获取目录的本地路径。
get_dir(key: str) -> Optional[str]
参数
- key
指向目录的键
返回
本地路径(如果存在 dir 键)或 None
load
从存储中加载。
load() -> None
remove
从存储区中删除键。
remove(key: str) -> None
参数
- key
存储键
remove_all
从存储中删除所有缓存。
remove_all() -> None
set
设置为“存储”。
set(key: str, value: Any) -> None
参数
- key
存储键
- value
store value
unload
从存储中卸载。
unload() -> None
反馈
提交和查看相关反馈