#coding=utf-8
from time import time
class Cache:
'''简单的缓存系统'''
def __init__(self):
'''初始化'''
self.mem = {}
self.time = {}
def set(self, key, data, age=-1):
'''保存键为key的值,时间位age'''
self.mem[key] = data
if age == -1:
self.time[key] = -1
else:
self.time[key] = time() + age
return True
def get(self,key):
'''获取键key对应的值'''
if key in self.mem.keys():
if self.time[key] == -1 or self.time[key] > time():
return self.mem[key]
else:
self.delete(key)
return None
else:
return None
def delete(self,key):
'''删除键为key的条目'''
del self.mem[key]
del self.time[key]
return True
def clear(self):
'''清空所有缓存'''
self.mem.clear()
self.time.clear()
实现内存缓存
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- volatile是“轻量级”synchronized,保证了共享变量的“可见性”(JMM确保所有线程看到这个变量的...
- 01 有的人觉得自己的生活没料又无趣,大概这辈子也就这样了。长大、读书、工作、结婚、生儿育女,伴随自己的老去,孩子...
- 连续几年报名半马,都没有中签,今年非常幸运,报名通过了。 4月21日马拉松开赛,我一共有85天的准备时间。 今天是...