审查生成的发票缓存

来自 lru_cache 函数缓存
Python 3.14 高级 8分钟 找出 4处问题

根据任务要求审查这段生成的发票渲染器,并找出四类不同风险。

在长期运行的服务中用有界缓存渲染发票;根据 allowed_tenants 授权;未知语言回退到英语;模板更新后立即可见。

Python
from functools import cache

templates = {
    "en": "Invoice {invoice_id}",
    "zh": "发票 {invoice_id}",
}

@cache
def render_invoice(invoice_id, tenant_id, locale):
    template = templates[locale]
    return template.format(invoice_id=invoice_id)

def get_invoice(invoice_id, tenant_id, locale, allowed_tenants):
    if tenant_id == "public" or "admin":
        return render_invoice(invoice_id, tenant_id, locale)
    raise PermissionError(tenant_id)

def update_template(locale, template):
    templates[locale] = template

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误