cache 装饰器是一个用于缓存资源密集型计算或加载过程结果的工具。它可以方便地与 文件监视器 结合使用,以防止应用程序每次重启时重新加载资源。这不仅节省时间,还能提高整体效率。

参数

func
Callable

需要缓存其结果的目标函数。

返回值

cached_value
Any
必需

在首次计算后存储在缓存中的计算值。

用法

import time
import chainlit as cl

@cl.cache
def to_cache():
    time.sleep(5)  # Simulate a time-consuming process
    return "Hello!"

value = to_cache()

@cl.on_message
async def main(message: cl.Message):
    await cl.Message(
        content=value,
    ).send()

在此示例中,to_cache 函数模拟了一个耗时的过程,并返回一个值。通过使用 cl.cache 装饰器,函数的结果在首次执行后被缓存。将来对 to_cache 函数的调用将返回缓存的值,而无需再次运行耗时的过程。