import time
class CacheDict(dict):
""" A sized dictionary with a timeout (seconds) """
def __init__(self, size=100, timeout=None):
dict.__init__(self)
self._maxsize = size
self._stack = []
self._timeout = timeout
def __setitem__(self, name, value, timeout=None):
if len(self._stack) >= self._maxsize:
self.__delitem__(self._stack[0])
del self._stack[0]
if timeout is None:
timeout = self._timeout
if timeout is not None:
timeout = time.time() + timeout
self._stack.append(name)
dict.__setitem__(self, name, (value, timeout))
def get(self, name, default=N
用Python写一个带超时功能和容量限制的字典
最新推荐文章于 2023-08-18 10:16:11 发布
本文介绍如何利用Python创建一个具有自动过期和容量控制功能的字典,适用于缓存数据并确保资源有效管理。通过设置超时时间和最大容量,可以自动清理旧的或超出限制的条目。
摘要由CSDN通过智能技术生成