mirror of
https://github.com/LiteyukiStudio/nonebot-plugin-marshoai.git
synced 2025-07-31 08:59:51 +00:00
重构代码,准备将聊天请求逻辑移入MarshoHandler
This commit is contained in:
39
nonebot_plugin_marshoai/cache/decos.py
vendored
Normal file
39
nonebot_plugin_marshoai/cache/decos.py
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
from ..models import Cache
|
||||
|
||||
cache = Cache()
|
||||
|
||||
|
||||
def from_cache(key):
|
||||
"""
|
||||
当缓存中有数据时,直接返回缓存中的数据,否则执行函数并将结果存入缓存
|
||||
"""
|
||||
|
||||
def decorator(func):
|
||||
async def wrapper(*args, **kwargs):
|
||||
cached = cache.get(key)
|
||||
if cached:
|
||||
return cached
|
||||
else:
|
||||
result = await func(*args, **kwargs)
|
||||
cache.set(key, result)
|
||||
return result
|
||||
|
||||
return wrapper
|
||||
|
||||
return decorator
|
||||
|
||||
|
||||
def update_to_cache(key):
|
||||
"""
|
||||
执行函数并将结果存入缓存
|
||||
"""
|
||||
|
||||
def decorator(func):
|
||||
async def wrapper(*args, **kwargs):
|
||||
result = await func(*args, **kwargs)
|
||||
cache.set(key, result)
|
||||
return result
|
||||
|
||||
return wrapper
|
||||
|
||||
return decorator
|
Reference in New Issue
Block a user