LRUDict
类源码
ldict = LRUDict(maxsize: int = 10)
ldict: LRUDict[str, T] = LRUDict(**kwargs: T, maxsize: int = 10)
ldict: LRUDict[K, T] = LRUDict(data={k1: ..., k2: ...}, maxsize: int = 10)
ldict: Mapping[str, T] = LRUDict(
data={"key1": ..., "key2": ...}, **kwargs: T, maxsize: int = 10
)
ldict: Mapping[K, T] = LRUDict(
data=((key, val) for (key, val) in ...), maxsize: int = 10
)
ldict: Mapping[str, T] = LRUDict(
data=((key, val) for (key, val) in ...), **kwargs, maxsize: int = 10
)
由最久未使用(least recently used, LRU)缓存驱动的字典,其中K, T
均是泛型。
容量限定,当缓存字典填满时,检查最久未查询过的关键字,并清出该数据。
LRUDict
同时是保证线程安全的。
该LRUDict
在默认情况下,不会隐式地释放缓冲区内的数据。要确保数据从内存中删除,需要显示地调用pop()
方法,并针对返回值进行删除。
参数
参数 | 类型 | 必选 | |
---|---|---|---|
data | {K: T} | [(K, T)] | 用来创建字典的数据。 | |
**kwargs | T | 在关键字参数中指定的,用来创建字典的数据。 | |
maxsize | int | 缓存最多可容纳的数据条目数(即缓存容量)。 |
提示
注意,该字典的初始化用法与Python标准库中dict()
完全一致。