hutool.cache.lfu_cache

Module Contents

Classes

LFUCache

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

淘汰访问频率最低且最早插入的元素。