于吉吉的技術博客

          建造高性能門戶網

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            65 隨筆 :: 6 文章 :: 149 評論 :: 0 Trackbacks

          緩存

               摘要: 大名鼎鼎的分布式緩存系統memcached,在開源社區中可謂是無人不知無人不曉,memcached支持分布式的橫向擴展,但memcached的服務端卻是單實例,并無"分布式"的功能,所謂的分布式只是客戶端在存儲的主鍵做分布的存儲;還有memcached組件緩存對象,如果組件無進行序列化必定無法正確取得數據;如何使用memcached的java組件來監控memcached的運行狀態;以上等等的問題是我在日常的工作中碰到并解決的,拿出來跟大家做個分享^_^

          對象的序列化
          首先memcached是獨立的服務器組件,獨立于應用系統,從客戶端保存和讀取對象到memcached是必須通過網絡傳輸,因為網絡傳輸都是二進制的數據,所以所有的對象都必須經過序列化,否則無法存儲到memcahced的服務器端.
          正如我們以往在集群中應用的序列化一樣,memcached的序列化的性能也是往往讓大家頭疼,如果我們對我們的domain類進行對象的序列化,第一次序列化時間會比較長,但后續會優化,也就是說序列化最大的消耗不是對象的序列化,而是類的序列化,如果存儲的只是一個String  閱讀全文
          posted @ 2010-12-08 15:00 陳于喆 閱讀(5620) | 評論 (4)  編輯

               摘要: 記得問過身邊的一些開發工程師(非前端)緩存要分幾個層次,從哪里做起,答案很多,比如反向代理緩存,DNS緩存,memcached,數據庫緩存等等,確實很完整,不過好像漏掉了我們用戶跟我們聯通的最根本的工具瀏覽器,確實好似很少有人把用戶的瀏覽器當作是web站點的組成部分來看待

          緩存協商
          現在我們需要將用戶的瀏覽器也納入我們構建網站各個緩存層次中的其中一個重要層次,網站信息和內容在由web服務器生成,而將這些信息和內容作為一段二進制的文件作為本地緩存文件存放在用戶的瀏覽器,是兩個獨立個體共同完成的任務,所以兩者之間需要一種溝通的機制,也就是HTTP的緩存協商

          Last-Modified和If-Modified-Since協商
          Last-Modified和If-Modified-Since分別位于響應頭信息和請求頭信息中,都是記錄請求的頁面最后的修改時間
          在第一次訪問web服務器會返回200狀態,并在瀏覽器的響應頭Last-Modified上寫上此頁面最后修改的時間戳
          使用firebug進行查看


            閱讀全文
          posted @ 2010-08-25 00:03 陳于喆 閱讀(6441) | 評論 (0)  編輯

          主站蜘蛛池模板: 郸城县| 滨海县| 莱西市| 郎溪县| 靖远县| 南安市| 湖南省| 炎陵县| 通海县| 田东县| 宣城市| 手机| 泾阳县| 荔浦县| 桦川县| 梁河县| 蛟河市| 青铜峡市| 图木舒克市| 宝清县| 宣威市| 嘉定区| 沁阳市| 罗江县| 股票| 沁源县| 乌拉特中旗| 沙坪坝区| 房山区| 商城县| 济南市| 舞阳县| 平原县| 潍坊市| 宿迁市| 阿鲁科尔沁旗| 临汾市| 铁岭市| 澳门| 云浮市| 双流县|