日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设计一个简单的缓存容器

發(fā)布時(shí)間:2024/8/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计一个简单的缓存容器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??? 在項(xiàng)目的開發(fā)中遇到一個(gè)這樣的問題:沒一個(gè)系統(tǒng)用戶要有很多與之關(guān)聯(lián)數(shù)據(jù),而由于一些頁面的加載是由這些數(shù)據(jù)來判斷過濾的,所以與數(shù)據(jù)庫交互加載這樣數(shù)據(jù)的時(shí)間變的不可忍受,尤其是大數(shù)據(jù)量的時(shí)候。所以一個(gè)比較簡(jiǎn)單但又實(shí)用的方法就是將這些數(shù)據(jù)緩存起來,供后來調(diào)用。
??? 在設(shè)計(jì)與實(shí)現(xiàn)這個(gè)簡(jiǎn)單緩存容器的時(shí)候,我想?yún)⒖家幌翸icrosoft的Application Block:Caching Framework,所以為了能使自己的設(shè)計(jì)水平提高,在這里我先把參考Caching Framework前的設(shè)計(jì)想法寫下來,以備在后面比較,希望能有大的收獲。
??? 在開發(fā)的過程中,采用迭代開發(fā)的思想,不是趕時(shí)髦,只是想讓自己持續(xù)的看到成果,不然的話會(huì)讓我失去信心的,主要迭代周期一起各迭代周期的內(nèi)容如下:
??? 一期:支持最基本的插入緩存數(shù)據(jù)、自定義鍵字段、根據(jù)鍵獲取緩存數(shù)據(jù)的方法。
??? 二期:支持緩存數(shù)據(jù)的過期、依賴屬性的應(yīng)用,處理緩存數(shù)據(jù)的過期與同步問題,為緩存數(shù)據(jù)添加同步支持。
??? 三期:重構(gòu)代碼以支持更廣的緩存數(shù)據(jù)應(yīng)用。

??? 下面我按照時(shí)間順序說明的我設(shè)計(jì)過程:
??? 一期:
????
??? 初期想法:設(shè)計(jì)一個(gè)CacheManager類,它有兩個(gè)方法,Add(object key,object value),Delete(object key),Get(object key),三個(gè)方法,內(nèi)部實(shí)現(xiàn)也就是基本的Cache方法包裝。

??? 參考了Caching Framework后的改進(jìn)想法:
??? 1.將Cache的管理功能與存儲(chǔ)分開,提取一個(gè)CacheManager來管理執(zhí)行諸如一些添加、刪除、獲取、清除的方法,添加一個(gè)CacheStorage類來處理存儲(chǔ),而且由于存儲(chǔ)方式可能有不同,所以設(shè)計(jì)一個(gè)接口,其他不同的實(shí)現(xiàn)方式來實(shí)現(xiàn)。
??? 2.包裝Cache項(xiàng),加入Metadata如:過期、依賴、回調(diào)、優(yōu)先級(jí)等方法。

轉(zhuǎn)載于:https://www.cnblogs.com/Masterpiece/archive/2004/11/24/67897.html

總結(jié)

以上是生活随笔為你收集整理的设计一个简单的缓存容器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。