jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks

          公告

          歡迎交流鏈接,給我留言

          常用鏈接

          留言簿(40)

          隨筆分類(592)

          隨筆檔案(400)

          Domestic

          Foreign

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          轉載請注明出處哈:http://carlosfu.iteye.com/blog/2269678


           

           一、基本概念

           

          1. Cache(緩存): 從cpu的一級和二級緩存、Internet的DNS、到瀏覽器緩存都可以看做是一種緩存。

          維基百科: 寫道
          a store of things that will be required in the future, and can be retrieved rapidly.
          存貯數據(使用頻繁的數據)的臨時地方,因為取原始數據的代價太大了,所以我可以取得快一些

               

           

           

          2. Cache hit(緩存命中)(下圖左)

          When a data element is requested from cache and the elements exists for the given key.

          3. Cahe miss(緩存未命中): 與Cache hit相反(下圖右)

           

          4. 緩存算法:緩存容量超過預設,如何踢掉“無用”的數據。

          例如:LRU(Least Recently Used) FIFO(First Input First Output)Least Frequently Used(LFU) 等等  


          5. System-of-Record(真實數據源): 例如關系型數據庫、其他持久性系統等等。

             也有英文書叫做authority data(權威數據)

           

          6. serialization-and-deserialization(序列化與反序列化):可以參考:序列化與反序列化(美團工程師寫的,非常棒的文章)

              后面也有單獨文章去分析。

             

           

           

          6. Scale Up (垂直擴容) 和 Scale out (水平擴容)

           

            驢拉車,通常不是把一頭驢養壯(有極限),而通常是一群驢去拉(當然每個個體也不能太差)。 

           

           

           

          服務器也是一樣的道理,至少互聯網是這樣:

          7. Write-through 和 write-behind

           

          8.阿姆而達定律:用于計算緩存加速比

           

           

          二、緩存的種類或者類型

           

          1. LocalCache(獨立式): 例如Ehcache、BigMemory Go

          (1) 緩存和應用在一個JVM中。

          (2) 緩存間是不通信的,獨立的。

          (3) 弱一致性。

           

          2. Standalone(單機): 

          (1) 緩存和應用是獨立部署的。

          (2) 緩存可以是單臺。(例如memcache/redis單機等等)

          (3) 強一致性

          (4) 無高可用、無分布式。

          (5) 跨進程、跨網絡

           

          3. Distributed(分布式):例如Redis-Cluster, memcache集群等等

          (1) 緩存和應用是獨立部署的。

          (2) 多個實例。(例如memcache/redis等等)

          (3) 強一致性或者最終一致性

          (4) 支持Scale Out、高可用。

          (5) 跨進程、跨網絡

           

          4. Replicated(復制式): 緩存數據時同時存放在多個應用節點的,數據復制和失效的事件以同步或者異步的形式在各個集群節點間傳播。(也是弱一致性)

          這種用的不太多。

           

           

          三、數據層訪問速度:(作為開發人員要記住這些量級)

           

           

          posted on 2016-12-20 17:06 jinfeng_wang 閱讀(159) 評論(0)  編輯  收藏 所屬分類: 2016-REDIS
          主站蜘蛛池模板: 建阳市| 板桥市| 依兰县| 汉沽区| 富源县| 衡阳县| 方山县| 开封县| 新竹市| 光泽县| 安阳市| 鹤山市| 乌苏市| 车致| 六安市| 安龙县| 长宁县| 陆良县| 武胜县| 红安县| 栖霞市| 福州市| 道真| 子洲县| 威海市| 五原县| 宁夏| 黑河市| 威信县| 邵武市| 星座| 五家渠市| 竹溪县| 师宗县| 浑源县| 微山县| 监利县| 武胜县| 永胜县| 雷波县| 呼伦贝尔市|