代碼地址github:cache

花了一天時(shí)間看了下實(shí)驗(yàn)樓的cache組件,使用golang編寫的,收獲還是蠻多的,緩存組件的設(shè)計(jì)其實(shí)挺簡單的,主要思路或者設(shè)計(jì)點(diǎn)如下:

  • 全局struct對(duì)象:用來做緩存(基于該struct實(shí)現(xiàn)增刪改查基本操作)

  • 定時(shí)gc功能(其實(shí)就是定時(shí)刪除struct對(duì)象中過期的緩存對(duì)):剛好用上golang的ticker外加channel控制實(shí)現(xiàn)

  • 支持緩存寫文件及從文件讀緩存:其實(shí)就是將這里的key-value數(shù)據(jù)通過gob模塊進(jìn)行一次編解碼操作

  • 并發(fā)讀寫:上鎖(golang支持讀寫鎖,一般使用時(shí)在被操作的struct對(duì)象里面聲明相應(yīng)的鎖,即sync.RWMutex,操作之前先上鎖,之后解鎖即可)

其實(shí)大概就是這么多,下面來分解下:

1、cache組件

要保存數(shù)據(jù)到緩存(即內(nèi)存中),先要設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),cache一般都有過期時(shí)間,抽象的struct如下:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

我想了解如何學(xué)習(xí)

姓名:
手機(jī):
留言:
 
  • <rp id="5cdlk"></rp>
    1. <sub id="5cdlk"><tr id="5cdlk"><div id="5cdlk"></div></tr></sub>
          • <td id="5cdlk"></td>