#coding=utf-8
from time import time
class Cache:
'''簡(jiǎn)單的緩存系統(tǒng)'''
def __init__(self):
'''初始化'''
self.mem = {}
self.time = {}
def set(self, key, data, age=-1):
'''保存鍵為key的值,時(shí)間位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對(duì)應(yīng)的值'''
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()
實(shí)現(xiàn)內(nèi)存緩存
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 1. 基本概念 LRU是計(jì)算機(jī)科學(xué)經(jīng)常使用的一種近期最少使用算法。 2. 核心思想 當(dāng)緩存滿時(shí),會(huì)優(yōu)先淘汰那些近期...
- volatile是“輕量級(jí)”synchronized,保證了共享變量的“可見性”(JMM確保所有線程看到這個(gè)變量的...
- 上一個(gè)用java實(shí)現(xiàn)的版本,這里用go也實(shí)現(xiàn)了一遍:
- 01 有的人覺得自己的生活沒料又無(wú)趣,大概這輩子也就這樣了。長(zhǎng)大、讀書、工作、結(jié)婚、生兒育女,伴隨自己的老去,孩子...
- 連續(xù)幾年報(bào)名半馬,都沒有中簽,今年非常幸運(yùn),報(bào)名通過(guò)了。 4月21日馬拉松開賽,我一共有85天的準(zhǔn)備時(shí)間。 今天是...