在網上找了乙份比較好的日本人寫的memcache教程,花一下午的時間熟悉了一下,記錄一下,以後也許會有用。
memcached 是指高效能的分布式快取伺服器,通過快取資料,減少資料庫的訪問字數,提高相應速度。
它的幾個特點:
1.協議簡單
2.基於libevent事件處理
3.內建記憶體儲存方式
4.memcached不相互通訊
linux 下memcache安裝
安裝memcached需要先安裝libevent,啟動memcached 的方式
bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -p /tmp/memcached.pid
-d 建立守護程序
-m 占用記憶體大小(m)
-u 使用者
-l 連線ip
-p 埠號
-c 最大連線數
-p pid建立位置
-vv 用very verbose 模式啟動,除錯資訊和錯誤直接輸出到控制台
客戶端支援用perl,php,python,c++等多種方式進行連線
可直接telnet ip位址 埠號進行連線
set foo 0 0 3
bar即可儲存key值為 foo, value 為bar 的鍵值對
檢視php memcached 提供的訪問介面,直接通過getmulti 檢索多個元素
memcached 記憶體儲存
資料儲存在記憶體中,重啟即會消失,記憶體滿後將會基於lru(最近最少使用)演算法進行刪除, (-m 禁止使用lru,滿後則出錯)
slab allocation機制
按照預先規定的大小,將分配的記憶體分割為特定長度的塊(chunk)
將會根據收到的資料大小,選擇適合的slab (特定大小的chunk組)
缺點:無法有效的利用空間
grown factor 調優
在啟動時制定引數 -f 2 (default 值為 1.25), 設定不同chunk之間的差異大小
檢視memcached 的內部狀態 stats
memcached 的刪除機制
lazy expiration(惰性) 在get時檢視時間戳,檢查是否過期
memcached的分布式演算法
1. 根據餘數計算分散
求key的crc值,除以memcached機器台數進行分配。缺點:新增或者移除機器時,快取重組代價較大
2.consistent hashing
求memcached的伺服器以及key的hash值,對映到圓上,以抑制key的重新分配 (php庫中的libketama已經實現該演算法)
Memcache學習筆記一
過年期間,看了一些memcache的資料,整理了乙個ppt。memcached分析view more presentations from wonwang.收穫最大的部分,我覺得是在應用上如何更好的對快取進行使用和處理,來解決 cache stamples 的問題。通常只進行一次快取判斷的邏輯,在應...
GAE中Memcache快取學習筆記
memcache是高效能,分布式的儲存系統,主要作用是實現資料查詢結果的快速獲取。它是以 名 值 對的形式儲存在快取裡的。例子 set key,value,time 0,min compress len 0 不理會以前的內容設定key的值,time單位是秒 get key 獲取key對應的內容 de...
Memcache 使用筆記
memcached使用 cd d phpstudy pro extensions memcached 1.4.5 amd64 安裝 memcached.exe d install 啟動 memcached.exe d start 停止 memcached.exe d stop 不適合場景 1 快取的...