一日一技:实现有过期时间的 LRU 缓存

谢乾坤|青南 at 
在一日一技:实现函数调用结果的 LRU 缓存一文中,我们提到 Python 自带的 LRU 缓存 lru_cache。通过这个装饰器可以非常轻松地实现缓存。现在我们考虑下面这个应用场景:MongoDB 中有 100 对 id-用户名的对应关系,我从 Redis 中持续不断读取 id,如果 id 能在 MongoDB 中找到对应关系,那么就把对应的用户名打印出来。如果找不到对应关系,那么就把这个 id 丢弃。为了防止频繁读取 MongoDB,我在程序开始的时候直接读取这一百对对应关系,并存为字典:1234567891011121314151617181920import pymongoimpor……