Memcached應用實戰

1、做用php

小知識:緩存通常用來保存一些常常存取的對象或數據(例如,瀏覽器會把常常訪問的網頁緩存起來),經過緩存來存取對象或數據要比磁盤存取快不少。ios

memcache經過緩存常常被存取的對象或數據,來減輕數據庫的壓力,提升網站的響應速度,構建速度更快的可擴展的web應用。web

舉例:memcache和數據庫協做的流程:算法

一、檢查客戶端請求的數據是否在memcache中存在,若是存在,直接把請求的數據返回,再也不對數據進行任何操做。數據庫

二、若是請求的數據不在memcache中,就去查詢數據庫,把從數據庫中獲取的數據返回給客戶端,同時把數據緩存一份到memcache中。瀏覽器

三、每次更新數據庫的同時更新memcache中的數據,保證memcache中的數據和數據庫中的一致。緩存

2、工做原理服務器

memcached是一種C/S模式,在服務器端啓動服務守護進程,此時能夠指定監聽的IP地址、端口以及使用多少內存來處理客戶端的請求等幾個關鍵參數。memcached

須要被緩存的對象或數據以key/value對的形式保存在服務器端,每一個被緩存的對象或數據都有惟一的標識符key,存取操做經過這個key進行。工具

因爲沒有對這些對象進行持久性存儲,所以在服務器端的服務重啓以後存儲在內存中的這些數據就會消失,並且當存儲的容量達到啓動時設定的值時,就自動使用LRU算法刪除相應的緩衝。memcached利用slab allocation機制來分配和管理內存。

3、安裝調試

安裝調試詳見:

「安裝配置」文件夾下的「memcache安裝配置」;

4、管理與性能監控

一、經過memcached的監聽端口進行管理

經過命令行登陸到memcached的監聽端口,而後執行一些命令,經過這些命令的輸入便可查看memcached的運行狀態。

二、利用memcached-tool管理memcached

memcached-tool是利用perl編寫的一個memcached管理腳本。這個腳本經過將以前的命令行進行封裝,使輸入的值更加規則,進而便於分析查看。

三、監控

部署好memcached以後,須要對memcached的使用狀況進行跟蹤:監控memcached的狀態信息、內存使用狀況、hit/miss的值。經過對memcached的監控不只能馬上了解memcached出現的問題,還可以利用狀態信息分析業務數據的增加併爲將來的容量規劃提供依據。

經常使用的監控工具備:memcache.php、nagios和cacti。

相關文章
相關標籤/搜索