hutool.cache.lfu_cache¶
Module Contents¶
Classes¶
LFU(最不经常使用)缓存实现。 |
API¶
- class hutool.cache.lfu_cache.LFUCache(capacity: int = 16)¶
LFU(最不经常使用)缓存实现。
当缓存满时,访问频率最低的元素会被淘汰。 若有多个元素频率相同,淘汰最早插入的。
Initialization
初始化LFU缓存。
- 参数:
capacity – 缓存最大容量,默认16
- get(key: Any, default: Any = None) Any¶
获取缓存值,并更新访问频率。
- 参数:
key – 缓存键
default – 键不存在时返回的默认值
- 返回:
缓存值,不存在时返回默认值
- put(key: Any, value: Any) None¶
放入缓存。如果缓存已满,淘汰访问频率最低的元素。
- 参数:
key – 缓存键
value – 缓存值
- remove(key: Any) Any¶
移除指定键的缓存。
- 参数:
key – 缓存键
- 返回:
被移除的值,键不存在时返回None
- size() int¶
获取当前缓存大小。
- 返回:
当前缓存条目数
- capacity() int¶
获取缓存最大容量。
- 返回:
缓存最大容量
- clear() None¶
清空所有缓存。
- is_full() bool¶
判断缓存是否已满。
- 返回:
缓存已满返回True,否则返回False
- _update_freq(key: Any) None¶
更新键的访问频率。
- 参数:
key – 缓存键
- _evict() None¶
淘汰访问频率最低且最早插入的元素。