← 返回题库
中级

实现缓存雪崩防御(随机TTL)

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    products_csv = open_url(____).read()
    import pandas as pd, random
    random.seed(____)
    from io import StringIO
    products = pd.read_csv(StringIO(____))
    def fixed_ttl(____): return base
    def random_ttl(____): return base + random.randint(____)
    def stagger_ttl(____): return base + idx * step
    NOW = ____
    print(____)
    fixed_exps = [NOW + fixed_ttl() for _ in products['____']]
    from collections import Counter
    print(____)
    print(____)
    rand_exps = [NOW + random_ttl() for _ in products['____']]
    exp_range = max(____) - min(____)
    print(____)
    print(____)
    stagger_exps = [NOW + stagger_ttl(____) for i in range(len(____))]
    print(____)
    print(____)

示例

输入
solve()
期望输出
固定TTL(300s) - 同时过期的键数:
  同一时刻过期: 12 个键
随机抖动TTL - 分布:
  过期时间范围: 91s (分散效果更好)
阶梯TTL - 分布:
  第一个到期: t+300s, 最后到期: t+410s
推荐: 随机抖动TTL防止缓存雪崩
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码