使用缓存
所有缓存实例均取自CacheAbstract
的派生类。通过以下方法,可以判断某未知量是否是缓存的实例。
is_a_cache: bool = isinstance(value, dash_file_cache.caches.abstract.CacheAbstract)
这里的caches
模块主要是用来帮助初始化服务(service
)的。绝大多数情况下,缓存只会按照以下方式使用:
import dash_file_cache as dfc
service = dfc.ServiceData(dfc.CachePlain(1))
其中,dfc.CachePlain
可以被dfc.CacheQueue
或是dfc.CacheFile
取代。不同类型的缓存对应着不同的使用情境:
缓存 | |
---|---|
CachePlain | 服务service 总是由单进程(但允许由多线程)访问。若数据需要被置于内存中、且不需要使用背景 callback。 |
CacheQueue | 服务service 需要被多进程访问。使用背景 callback 时,CachePlain 无法正常工作,但该缓存仍可工作,且数据亦置于内存中。 |
CacheFile | 服务service 需要被多进程访问,且数据需要被置于硬盘、而非内存中。 |
提示
背景callback是dash>=2.6
提供的新功能。要了解详情,请查看
将缓存应用于服务中
CachePlain
缓存的用途如下:
service = dfc.ServiceData(dfc.CachePlain(cache_size: int))