摘要: 大名鼎鼎的分布式緩存系統memcached,在開源社區中可謂是無人不知無人不曉,memcached支持分布式的橫向擴展,但memcached的服務端卻是單實例,并無"分布式"的功能,所謂的分布式只是客戶端在存儲的主鍵做分布的存儲;還有memcached組件緩存對象,如果組件無進行序列化必定無法正確取得數據;如何使用memcached的java組件來監控memcached的運行狀態;以上等等的問題是我在日常的工作中碰到并解決的,拿出來跟大家做個分享^_^
對象的序列化
首先memcached是獨立的服務器組件,獨立于應用系統,從客戶端保存和讀取對象到memcached是必須通過網絡傳輸,因為網絡傳輸都是二進制的數據,所以所有的對象都必須經過序列化,否則無法存儲到memcahced的服務器端.
正如我們以往在集群中應用的序列化一樣,memcached的序列化的性能也是往往讓大家頭疼,如果我們對我們的domain類進行對象的序列化,第一次序列化時間會比較長,但后續會優化,也就是說序列化最大的消耗不是對象的序列化,而是類的序列化,如果存儲的只是一個String
閱讀全文