CacheQueue
类源码
cache = CacheQueue[Info, Data](
cache_size: int,
qobj: queue.Queue | Callable[[], queue.Queue] | None = None
)
基于进程共享队列Queue()
的缓存实现。
虽然此处的队列也可以是一个线程队列,但仍然推荐使用multiprocessing.get_context(...).Manager().Queue()
。
CacheQueue
实例是为了跨进程捕获数据设计的。该缓存可以在背景 callback 中访问。
该类型的任何实例,都会在主进程中创建一个守护线程,用来监听队列。
对该缓存的操作是线程安全的。
别名
该类可以通过以下方法取得。
import dash_file_cache as dfc
dfc.CacheQueue
dfc.caches.CacheQueue
dfc.caches.memory.CacheQueue
参数
参数 | 类型 | 必选 | |
---|---|---|---|
cache_size | int | 缓存容量,亦即缓存中可保存项目的最大数目。当缓存字典填满时,检查最久未查询过的关键字,并清出该数据。 | |
qobj | queue.Queue | Callable[[], queue.Queue] | None | 由queue.Queue() 或multiprocessing.get_context(...).Manager().Queue() 提供的队列对象。用来在子进程中、将数据同步给主进程。 若该值为 None ,这表示属性CacheQueue().qobj 将稍后提供。该属性需要在该缓存第一次被实际使用之前配置好。若该值为一个返回队列的函数,这表示该函数将用来提供队列的懒加载。换言之,队列将会在第一次需要实际用到的时候初始化。 |