Cache實現(xiàn)方式總結(jié)關(guān)鍵字: cache閱讀了一些開源的Cache源代碼和在公司幾種Cache的實現(xiàn)代碼,一些通用的實現(xiàn)方式和數(shù)據(jù)結(jié)構(gòu): hash表:支持多線程,需要同步的hash table。 內(nèi)存分配方式:是動態(tài)增長還是一次分配,內(nèi)存管理通常是多個不同大小的塊,按照最佳適應(yīng)、最先適應(yīng)進(jìn)行分配或者維護(hù)一個內(nèi)存塊的鏈表。 超時設(shè)置:通常使用Lazy策略,當(dāng)訪問的時候再進(jìn)行判斷是否超時以及刪除處理。 是否支持多級Cache:根據(jù)命中率在內(nèi)存cache、flash cache進(jìn)行移動。 分布式策略: 常用的策略hash取模、Consistent Hashing算法。 memcache結(jié)構(gòu)圖: |
|