hutool.cache.timed_cache

Module Contents

Classes

TimedCache

定时缓存实现。

API

class hutool.cache.timed_cache.TimedCache(timeout: int = 60)

定时缓存实现。

每个缓存条目可以设置独立的过期时间,过期后自动失效。 支持定时清理过期条目以释放内存。

Initialization

初始化定时缓存。

参数:

timeout – 默认过期时间(秒),默认60秒

get(key: Any, default: Any = None) Any

获取缓存值。若已过期则返回默认值。

参数:
  • key – 缓存键

  • default – 键不存在或已过期时返回的默认值

返回:

缓存值,不存在或已过期时返回默认值

put(key: Any, value: Any, timeout: Optional[int] = None) None

放入缓存。

参数:
  • key – 缓存键

  • value – 缓存值

  • timeout – 过期时间(秒),为None时使用默认过期时间

remove(key: Any) Any

移除指定键的缓存。

参数:

key – 缓存键

返回:

被移除的值,键不存在时返回None

size() int

获取当前缓存大小(包含已过期但未清理的条目)。

返回:

当前缓存条目数

clear() None

清空所有缓存。

prune() int

清理过期缓存条目。

返回:

被清理的条目数

schedule_prune(delay_seconds: int = 60) None

启动定时清理线程,定期清理过期缓存。

参数:

delay_seconds – 清理间隔(秒),默认60秒

_prune_callback(delay_seconds: int) None

清理回调,执行清理后重新调度。

参数:

delay_seconds – 下次清理间隔(秒)

_cancel_prune_timer() None

取消定时清理线程。