Skip to content

Latest commit

 

History

History
26 lines (16 loc) · 608 Bytes

README.md

File metadata and controls

26 lines (16 loc) · 608 Bytes

介绍

参考 functools.lru_cache 实现的 ttl_cache装饰器

使用方法

可以装饰同步函数或异步函数,同时也支持装饰类方法

import time
import asyncio


from ttl_cache import ttl_cache


@ttl_cache(ttl=3, maxsize=128)
def task(wait: int):
    time.sleep(wait)


@ttl_cache(ttl=3, maxsize=128)
async def async_task(wait: int):
    await asyncio.sleep(wait)

支持缓存绝大部分类型的参数,包括自定义对象、嵌套的字典、列表、元组、实现了__dict__方法的类等。