Memcache 是一套分佈式高速緩存系統,php
分佈式:以在多臺操做系統中同時安裝 Memcache 服務,能夠達到很好的集羣效果。數據庫
高速:Memcache 全部的數據都是維護在內存中的。vim
當應用 訪問量 特別大的時候,數據庫的訪問量也會特別大。Memcache 的出現,能夠在運用和數據庫之間增長一個緩衝層。那麼以前在數據庫中讀取過的數據在第二次讀取的時候,能夠直接去訪問 Memcache 去讀取這些數據,從而減輕數據庫的壓力。緩存
Memcache 至關於只有一張表的數據庫。這張表有二個字段,分別是主鍵 Key,和數據 Value。Key 用來保證咱們查找值得惟一性。bash
若是數據丟失也不會對系統形成太大的影響。當系統斷電或者重啓的時候,內存會被清空,以前保存在 Memcache 當中的數據也會被清空。因此只能把 Memcache 當成緩存使用,而不能把它當成真正的數據庫使用。服務器
若是是單機,直接使用數據庫查找數據。Memcache 對於內存的消耗很大。
若是使用 Memcache,推薦裝在另一臺機器上,單獨做爲緩存系統。而不是把數據庫和 Memcache 裝在一臺數據庫上php7
Value 存儲的是數據的整個部分,不能再把 Value 中的數據進行拆分。架構
Memcached 是一個 C/S 架構的緩存系統,分爲服務端的安裝和客戶端的安裝。分佈式
若是是編譯安裝能夠指定軟件的安裝路徑,安裝過程時間長。memcached
apt-get install memcached
or
yum install memcached
/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root
-d
:進程守護-l
:ip地址-p
:端口號-m
:分配的內存大小-u
:啓動服務的用戶
查看:ps -ef | grep memcached
採用編譯安裝的方式
cd libmemcached-1.0.18 ./configure --prefix=/usr/lib/libmemcached meke && make install
cd memcached-2.2.0 phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached --disable-memcached-sasl make && make install
vim /etc/php/php7.0/php-fpm/php.ini //添加 extension = memcached.so
系統類 :addServer , addServers, getStatus, getVersion
數據類:add, set, delete, flush, replace, increment, get
進階類:setMulti, deleteMulti, get Multi, getResultCode, getResultMessage
public bool Memcached::addServer ( string $host , int $port [, int $weight = 0 ] )
host
memcached服務端主機名。若是主機名無效,相關的數據操做的返回代碼將被設置爲Memcached::RES_HOST_LOOKUP_FAILURE。
port
memcached服務端端口號,一般是11211。
weight
此服務器相對於服務器池中全部服務器的權重。此參數用來控制服務器在操做時被選種的機率。這個僅用於一致性 分佈選項,而且這個值一般是由服務端分配的內存來設置的。
public bool Memcached::set ( string $key , mixed $value [, int $expiration ] )
key
用於存儲值的鍵名。
value
存儲的值。
expiration
到期時間,默認爲 0。 更多信息請參見到期時間。
public mixed Memcached::get ( string $key [, callback $cache_cb [, float &$cas_token ]] )
key
要檢索的元素的key。
cache_cb
通讀緩存回掉函數或NULL.
cas_token
檢索的元素的CAS標記值。
適用用 新聞詳情 文章詳情 這狀況
網站首頁 的狀況,定時腳本把緩存生成好
適用於 關於咱們 的狀況