接上一篇
REDIS客戶端封裝意淫
通過群里朋友反饋殿遂,意見很好,總結(jié)一下乙各,對(duì)現(xiàn)在有接口墨礁,進(jìn)一步重構(gòu)。
- 進(jìn)一步對(duì)客戶端友好封裝觅丰,對(duì)數(shù)據(jù)類型的轉(zhuǎn)換饵溅,封裝進(jìn)框架內(nèi)。
- 增加CacheDataNotFound hook妇萄,并保留原有異常拋出接口蜕企,提供客戶端靈活調(diào)用。
- 對(duì)key的business 部分提供靈活擴(kuò)展接口冠句,為特定業(yè)務(wù)的監(jiān)控提供擴(kuò)展轻掩。
- 接口不只依賴redis,理論上可以對(duì)redis 的不同接口進(jìn)行實(shí)現(xiàn)懦底,包括jedis sharded jedis jedisson以及其他異構(gòu)緩存系統(tǒng)唇牧。
- 將接口按類型進(jìn)行拆分,避免類過于寵大聚唐,不利于維護(hù)丐重。
- 提供monitor接口 befare和montor 方法,客戶端可根據(jù)需要進(jìn)行擴(kuò)展,如果需要對(duì)redis 限流杆查,可實(shí)現(xiàn)before接口扮惦,如果不需要?jiǎng)t直接返回true。
- 提供限流工具類亲桦。AbstractLock 客戶端可以根本需要進(jìn)行實(shí)現(xiàn)崖蜜。
- 將redis 客戶端從sparrow 分拆出來,單獨(dú)部署客峭,單獨(dú)維護(hù)豫领,單獨(dú)版本控制。
實(shí)現(xiàn)類圖如下
測(cè)試用例
https://github.com/sparrowzoo/sparrow-test
歡迎大家轉(zhuǎn)載舔琅,也歡迎各位有興趣的朋友一起加入.
由于個(gè)人能力有限等恐,難免有些不足之處,警請(qǐng)諒解。謝謝!