本文打印版文檔下載地址
【山外筆記-數(shù)據(jù)庫】Memcached詳解教程-打印版.pdf
一、Memcached數(shù)據(jù)庫概述
1、Memcached簡(jiǎn)介
(1)Memcached是一個(gè)自由開源的,高性能,分布式內(nèi)存對(duì)象緩存系統(tǒng),通過在內(nèi)存里維護(hù)一個(gè)統(tǒng)一的巨大的hash表來存儲(chǔ)各種格式的數(shù)據(jù)。
(2)Memcached本質(zhì)上是一個(gè)基于內(nèi)存的key-value存儲(chǔ)系統(tǒng),用來存儲(chǔ)小塊的任意數(shù)據(jù)(字符串、對(duì)象)。
(3)Memcached的守護(hù)進(jìn)程(daemon )用C語言編寫,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護(hù)進(jìn)程通信。
(4)Memcached是以守護(hù)程序(監(jiān)聽)方式運(yùn)行于一個(gè)或者多個(gè)服務(wù)器中,隨時(shí)會(huì)接受客戶端的連接和操作。
(5)Memcached客戶端有各種語言的版本,包括java,c,php,.net等等。
(6)Memcached通過在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來減少讀取數(shù)據(jù)庫的次數(shù),提高動(dòng)態(tài)、數(shù)據(jù)庫驅(qū)動(dòng)網(wǎng)站的速度,減輕數(shù)據(jù)庫負(fù)載。
(7)Memcached的API兼容大部分流行的開發(fā)語言,其中包括Perl、PHP、Python、RubyC#、C/C++、Lua等。

2、Memcached的特點(diǎn)
(1)協(xié)議簡(jiǎn)單
(2)基于libevent的事件處理
libevent是一個(gè)將Linux的epoll、BSD類操作系統(tǒng)的kqueue等事件處理功能封裝成統(tǒng)一接口的程序庫。
(3)內(nèi)置內(nèi)存存儲(chǔ)方式
memcached中保存的數(shù)據(jù)都存儲(chǔ)在memcached內(nèi)置的內(nèi)存存儲(chǔ)空間中。
由于數(shù)據(jù)僅存在于內(nèi)存中,因此重啟memcached、重啟操作系統(tǒng)會(huì)導(dǎo)致全部數(shù)據(jù)消失。
內(nèi)存容量達(dá)到指定值之后,就基于LRU(Least Recently Used)算法自動(dòng)刪除不使用的緩存。
memcached本身是為緩存而設(shè)計(jì)的服務(wù)器,因此并沒有過多考慮數(shù)據(jù)的永久性問題。
(4)分布式memcached互不通信
memcached盡管是分布式緩存服務(wù)器,但服務(wù)器端并沒有分布式功能。
各個(gè)memcached不會(huì)互相通信以共享信息。

3、Memcached的工作原理:緩存式的Web應(yīng)用程序架構(gòu)
(1)在傳統(tǒng)的app層和db層之間加入cache層, 每個(gè)app服務(wù)器都可以綁定一個(gè)mc(memcached)。
(2)每次數(shù)據(jù)的讀取都可以從ms(內(nèi)置分配內(nèi)存的組件)中取得,如果沒有,再從db層讀取。
(3)當(dāng)ms的hash表滿了之后,新的插入數(shù)據(jù)會(huì)替代老的數(shù)據(jù),更新的策略是LRU(最近最少使用)+ 到期失效策略,失效數(shù)據(jù)首先被替換,然后再替換到最近未使用的數(shù)據(jù)。。
(4)當(dāng)數(shù)據(jù)要進(jìn)行更新時(shí),除了要發(fā)送update的 sql給db層,同時(shí)也要將更新的數(shù)據(jù)發(fā)給,讓mc去更新ms中的數(shù)據(jù)。
4、Memcached的安裝
(1)Linux Memcached安裝
-
Ubuntu/Debian在線安裝
sudo apt-get install libevent ibevent-dev sudo apt-get install memcached -
Redhat/Fedora/Centos在線安裝
yum install libevent libevent-devel yum install memcached -
源代碼安裝
wget http://memcached.org/latest 下載最新版本 tar -zxvf memcached-1.x.x.tar.gz 解壓源碼 cd memcached-1.x.x 進(jìn)入目錄 ./configure --prefix=/usr/local/memcached 配置 make && make test 編譯 sudo make install 安裝
(2)Windows Memcached安裝
在 1.4.5 版本以前 Memcached可以作為一個(gè)服務(wù)安裝,而在 1.4.5 及之后的版本刪除了該功能。因此需要采用不同的安裝方式。
Memcached安裝包下載地址:https://github.com/memcached/memcached/releases
Memcached 1.4.5 以前的版本
解壓下載的安裝包到指定目錄。
-
memcached 可以作為一個(gè)服務(wù)安裝,cmd窗口執(zhí)行
c:\memcached\memcached.exe -d install -
啟動(dòng)和關(guān)閉 memcached 服務(wù)
c:\memcached\memcached.exe -d start c:\memcached\memcached.exe -d stop -
修改 memcached 的緩存配置項(xiàng)
c:\memcached\memcached.exe -d runservice -m 512 -
查看memcached 的的幫助信息
c:\memcached\memcached.exe -h -
卸載memcached
c:\memcached\memcached.exe -d uninstall -
Memcached 1.4.5 以后的版本
解壓下載的安裝包到指定目錄。
-
memcached 不能作為服務(wù)來運(yùn)行,需要使用任務(wù)計(jì)劃中來開啟一個(gè)普通的進(jìn)程,設(shè)置開機(jī)自動(dòng)啟動(dòng)。
schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512" -
刪除 memcached 的任務(wù)計(jì)劃
schtasks /delete /tn memcached
5、Memcached的運(yùn)行
(1)Linux自動(dòng)安裝 memcached 命令位于 /usr/local/bin/memcached。
(2)查看Memcached命令的幫助:memcached -h
- -d選項(xiàng):?jiǎn)?dòng)一個(gè)守護(hù)進(jìn)程;
- -m選項(xiàng):分配給Memcached使用的內(nèi)存數(shù)量,單位是MB;
- -u選項(xiàng):運(yùn)行Memcached的用戶;
- -l選項(xiàng):監(jiān)聽的服務(wù)器IP地址,可以有多個(gè)地址;
- -p選項(xiàng):設(shè)置Memcached監(jiān)聽的端口,最好是1024以上的端口;
- -c選項(xiàng):最大運(yùn)行的并發(fā)連接數(shù),默認(rèn)是1024;
- -P選項(xiàng):設(shè)置保存Memcached的pid文件。
(3)啟動(dòng)Memcached服務(wù)
memcached -d -m 64M -u root -l 192.168.0.120 -p 11211 -c 256 -P /tmp/memcached.pid
(4)關(guān)閉Memcached服務(wù)
ps -ef|grep memcached
kill -9 memcached_pid
6、Memcached的連接
(1)通過 telnet 命令并指定主機(jī)ip和端口來連接 Memcached 服務(wù)。
(2)語法:telnet HOST PORT
二、Memcached 存儲(chǔ)命令
1、Memcached set 命令
(1)Memcached set 命令:用于將 value(數(shù)據(jù)值) 存儲(chǔ)在指定的 key(鍵) 中。
(2)如果set的key已經(jīng)存在,該命令可以更新該key所對(duì)應(yīng)的原來的數(shù)據(jù),也就是實(shí)現(xiàn)更新的作用。
(3)set 命令的基本語法格式:
set key flags exptime bytes [noreply]
value
(4)參數(shù)說明:
- key:鍵值 key-value 結(jié)構(gòu)中的 key,用于查找緩存值。
- flags:可以包括鍵值對(duì)的整型參數(shù),客戶機(jī)使用它存儲(chǔ)關(guān)于鍵值對(duì)的額外信息 。
- exptime:在緩存中保存鍵值對(duì)的時(shí)間長(zhǎng)度(以秒為單位,0 表示永遠(yuǎn))
- bytes:在緩存中存儲(chǔ)的字節(jié)數(shù)
- noreply(可選): 該參數(shù)告知服務(wù)器不需要返回?cái)?shù)據(jù)
- value:存儲(chǔ)的值(始終位于第二行)(可直接理解為key-value結(jié)構(gòu)中的value)
(4)輸出信息:
- STORED:保存成功后輸出。
- ERROR:在保存失敗后輸出。
2、Memcached add 命令
(1)Memcached add 命令:用于將 value(數(shù)據(jù)值) 存儲(chǔ)在指定的 key(鍵) 中。
(2)如果 add 的 key 已經(jīng)存在,則不會(huì)更新數(shù)據(jù)(過期的 key 會(huì)更新),之前的值將仍然保持不變,并且獲得響應(yīng) NOT_STORED。
(3)add 命令的基本語法格式:
add key flags exptime bytes [noreply]
value
(4)參數(shù)說明和輸出信息同set命令。
3、Memcached replace 命令
(1)Memcached replace 命令:用于替換已存在的 key(鍵) 的 value(數(shù)據(jù)值)。
(2)如果 key 不存在,則替換失敗,并且獲得響應(yīng) NOT_STORED。
(3)replace 命令的基本語法格式:
replace key flags exptime bytes [noreply]
value
(4)參數(shù)說明和輸出信息同set命令。
(5) set 、add 、replace 三個(gè)命令的區(qū)別
add命令:用于向 memcache 服務(wù)器添加一個(gè)要緩存的數(shù)據(jù),如果 key 存在則返回 false。
replace命令:用于向 memcache 服務(wù)器替換一個(gè)指定 key 的緩存內(nèi)容,如果 key 不存在則返回 false。
set 命令:用于設(shè)置一個(gè)指定 key 的緩存內(nèi)容,是 add 方法和 replace 方法的集合體。
4、Memcached append 命令
(1)Memcached append 命令:用于向已存在 key(鍵) 的 value(數(shù)據(jù)值) 后面追加數(shù)據(jù)(字符串相加) 。
(2)append 命令的基本語法格式:
append key flags exptime bytes [noreply]
value
(3)參數(shù)說明同set命令。
(4)輸出信息
- STORED:保存成功后輸出。
- NOT_STORED:該鍵在 Memcached 上不存在。
- CLIENT_ERROR:執(zhí)行錯(cuò)誤。
5、Memcached prepend 命令
(1)Memcached prepend 命令用于向已存在 key(鍵) 的 value(數(shù)據(jù)值) 前面追加數(shù)據(jù) 。
(2)prepend 命令的基本語法格式:
prepend key flags exptime bytes [noreply]
value
(3)參數(shù)說明同set命令。
(4)輸出信息同append命令。
6、Memcached CAS 命令
(1)Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令:用于執(zhí)行一個(gè)"檢查并設(shè)置"的操作。
Memcached CAS命令僅在當(dāng)前客戶端最后一次取值后,該key 對(duì)應(yīng)的值沒有被其他客戶端修改的情況下, 才能夠?qū)⒅祵懭搿?/p>
檢查是通過cas_token參數(shù)進(jìn)行的, 這個(gè)參數(shù)是Memcach指定給已經(jīng)存在的元素的一個(gè)唯一的64位值。
使用 CAS 命令,需要從 Memcached 服務(wù)商通過 gets 命令獲取令牌(token)。
(2)CAS 命令的基本語法格式:
cas key flags exptime bytes unique_cas_token [noreply]
value
(3)參數(shù)說明:
- unique_cas_token選項(xiàng):通過 gets 命令獲取的一個(gè)唯一的64位值。
- 其他參數(shù)說明同set命令。
(4)輸出信息:
- STORED:保存成功后輸出。
- ERROR:保存出錯(cuò)或語法錯(cuò)誤。
- EXISTS:在最后一次取值后另外一個(gè)用戶也在更新該數(shù)據(jù)。
- NOT_FOUND:Memcached 服務(wù)上不存在該鍵值。
三、Memcached查找命令
1、Memcached get 命令
(1)Memcached get 命令:獲取存儲(chǔ)在 key(鍵) 中的 value(數(shù)據(jù)值) ,如果 key 不存在,則返回空。
(2)get 命令的基本語法格式如下:
get key
get key1 key2 key3 #多個(gè) key 使用空格隔開
(3)參數(shù)key:鍵值 key-value 結(jié)構(gòu)中的 key,用于查找緩存值。
2、Memcached gets 命令
(1)Memcached gets 命令獲取帶有 CAS 令牌存 的 value(數(shù)據(jù)值) ,如果 key 不存在,則返回空。
(2)gets 命令的基本語法格式如下:
gets key
gets key1 key2 key3 #多個(gè) key 使用空格隔開
3、Memcached delete 命令
(1)Memcached delete 命令:用于刪除已存在的 key(鍵)。
(2)delete 命令的基本語法格式:delete key [noreply]
(3)參數(shù)說明:
- key:鍵值 key-value 結(jié)構(gòu)中的 key,用于查找緩存值。
- noreply(可選): 該參數(shù)告知服務(wù)器不需要返回?cái)?shù)據(jù)
(4)輸出信息說明:
- DELETED:刪除成功。
- ERROR:語法錯(cuò)誤或刪除失敗。
- NOT_FOUND:key 不存在。
4、Memcached incr 命令
(1)Memcached incr 與 decr 命令用于對(duì)已存在的 key(鍵) 的數(shù)字值進(jìn)行自增操作。
incr 與 decr 命令操作的數(shù)據(jù)必須是十進(jìn)制的32位無符號(hào)整數(shù)。
如果 key 不存在返回 NOT_FOUND,如果鍵的值不為數(shù)字,則返回 CLIENT_ERROR,其他錯(cuò)誤返回 ERROR。
(2)incr 命令的基本語法格式:incr key increment_value
(3)參數(shù)說明:
- key:鍵值 key-value 結(jié)構(gòu)中的 key,用于查找緩存值。
- increment_value: 增加的數(shù)值。
(4)輸出信息說明:
- NOT_FOUND:key 不存在。
- CLIENT_ERROR:自增值不是對(duì)象。
- ERROR其他錯(cuò)誤,如語法錯(cuò)誤等。
5、Memcached decr 命令
(1)Memcached incr 與 decr 命令用于對(duì)已存在的 key(鍵) 的數(shù)字值進(jìn)行自減操作。
decr 命令操作的數(shù)據(jù)必須是十進(jìn)制的32位無符號(hào)整數(shù)。
如果 key 不存在返回 NOT_FOUND,如果鍵的值不為數(shù)字,則返回 CLIENT_ERROR,其他錯(cuò)誤返回 ERROR。
(2)decr 命令的基本語法格式:decr key decrement_value
(3)參數(shù)說明:
- key:鍵值 key-value 結(jié)構(gòu)中的 key,用于查找緩存值。
- decrement_value: 減少的數(shù)值。
(4)輸出信息說明:
- NOT_FOUND:key 不存在。
- CLIENT_ERROR:自增值不是對(duì)象。
- ERROR其他錯(cuò)誤,如語法錯(cuò)誤等。
四、Memcached 統(tǒng)計(jì)命令
1、Memcached stats 命令
(1)Memcached stats 命令用于返回統(tǒng)計(jì)信息例如 PID(進(jìn)程號(hào))、版本號(hào)、連接數(shù)等。
(2)stats 命令的基本語法格式:stats
stats
STAT pid 1162
STAT uptime 5022
STAT time 1415208270
STAT version 1.4.14
STAT libevent 2.0.19-stable
STAT pointer_size 64
STAT rusage_user 0.096006
STAT rusage_system 0.152009
STAT curr_connections 5
STAT total_connections 6
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 6
STAT cmd_set 4
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 4
STAT get_misses 2
STAT delete_misses 1
STAT delete_hits 1
STAT incr_misses 2
STAT incr_hits 1
STAT decr_misses 0
STAT decr_hits 1
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 262
STAT bytes_written 313
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 1
STAT evicted_unfetched 0
STAT bytes 142
STAT curr_items 2
STAT total_items 6
STAT evictions 0
STAT reclaimed 1
END
(3)狀態(tài)項(xiàng)說明:
- pid: memcache服務(wù)器進(jìn)程ID
- uptime:服務(wù)器已運(yùn)行秒數(shù)
- time:服務(wù)器當(dāng)前Unix時(shí)間戳
- version:memcache版本
- pointer_size:操作系統(tǒng)指針大小
- rusage_user:進(jìn)程累計(jì)用戶時(shí)間
- rusage_system:進(jìn)程累計(jì)系統(tǒng)時(shí)間
- curr_connections:當(dāng)前連接數(shù)量
- total_connections:Memcached運(yùn)行以來連接總數(shù)
- connection_structures:Memcached分配的連接結(jié)構(gòu)數(shù)量
- cmd_get:get命令請(qǐng)求次數(shù)
- cmd_set:set命令請(qǐng)求次數(shù)
- cmd_flush:flush命令請(qǐng)求次數(shù)
- get_hits:get命令命中次數(shù)
- get_misses:get命令未命中次數(shù)
- delete_misses:delete命令未命中次數(shù)
- delete_hits:delete命令命中次數(shù)
- incr_misses:incr命令未命中次數(shù)
- incr_hits:incr命令命中次數(shù)
- decr_misses:decr命令未命中次數(shù)
- decr_hits:decr命令命中次數(shù)
- cas_misses:cas命令未命中次數(shù)
- cas_hits:cas命令命中次數(shù)
- cas_badval:使用擦拭次數(shù)
- auth_cmds:認(rèn)證命令處理的次數(shù)
- auth_errors:認(rèn)證失敗數(shù)目
- bytes_read:讀取總字節(jié)數(shù)
- bytes_written:發(fā)送總字節(jié)數(shù)
- limit_maxbytes:分配的內(nèi)存總大?。ㄗ止?jié))
- accepting_conns:服務(wù)器是否達(dá)到過最大連接(0/1)
- listen_disabled_num:失效的監(jiān)聽數(shù)
- threads:當(dāng)前線程數(shù)
- conn_yields:連接操作主動(dòng)放棄數(shù)目
- bytes:當(dāng)前存儲(chǔ)占用的字節(jié)數(shù)
- curr_items:當(dāng)前存儲(chǔ)的數(shù)據(jù)總數(shù)
- total_items:?jiǎn)?dòng)以來存儲(chǔ)的數(shù)據(jù)總數(shù)
- evictions:LRU釋放的對(duì)象數(shù)目
- reclaimed:已過期的數(shù)據(jù)條目來存儲(chǔ)新數(shù)據(jù)的數(shù)目
2、Memcached stats items 命令
(1)Memcached stats items 命令用于顯示各個(gè) slab 中 item 的數(shù)目和存儲(chǔ)時(shí)長(zhǎng)(最后一次訪問距離現(xiàn)在的秒數(shù))。
(2)stats items 命令的基本語法格式:stats items
3、Memcached stats slabs 命令
(1)Memcached stats slabs 命令用于顯示各個(gè)slab的信息,包括chunk的大小、數(shù)目、使用情況等。
(2)stats slabs 命令的基本語法格式:stats slabs
4、Memcached stats sizes 命令
(1)Memcached stats sizes 命令:用于顯示所有item的大小和個(gè)數(shù)。
(2)該信息返回兩列,第一列是 item 的大小,第二列是 item 的個(gè)數(shù)。
(3)stats sizes 命令的基本語法格式:stats sizes
5、Memcached flush_all 命令
(1)Memcached flush_all 命令:用于清理緩存中的所有 key=>value(鍵=>值) 對(duì)。
(2)Memcached flush_all 命令提供了一個(gè)可選參數(shù) time,用于在制定的時(shí)間后執(zhí)行清理緩存操作。
(3)flush_all 命令的基本語法格式:flush_all [time] [noreply]
五、Memcached 應(yīng)用
1、Java 連接 Memcached 服務(wù)
使用 Java 程序連接 Memcached,需要在 classpath 中添加 Memcached jar 包。
本站 jar 包下載地址:spymemcached-2.10.3.jar。
以下程序假定 Memcached 服務(wù)的主機(jī)為 127.0.0.1,端口為 11211。
import net.spy.memcached.MemcachedClient;
import java.net.*;
public class MemcachedJava {
public static void main(String[] args) {
try{
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211));
System.out.println("Connection to server sucessful."); // 本地連接 Memcached 服務(wù)
Future fo = mcc.set("mentest", 900, "Free Education"); // 存儲(chǔ)數(shù)據(jù)
System.out.println("set status:" + fo.get()); // 查看存儲(chǔ)狀態(tài)
System.out.println("mentest value in cache - " + mcc.get("mentest"));
fo = mcc.add("mentest", 900, "memcached"); // 添加
System.out.println("add status:" + fo.get()); // 打印狀態(tài)
fo = mcc.add("codingground", 900, "All Free Compilers"); // 添加新key
System.out.println("add status:" + fo.get()); // 打印狀態(tài)
System.out.println("codingground value in cache - " + mcc.get("codingground"));
fo = mcc.replace("mentest", 900, "Tutorials' Library"); // 添加新的 key
System.out.println("replace status:" + fo.get()); // 打印狀態(tài)
System.out.println("mentest value in cache - " + mcc.get("mentest"));
fo = mcc.append("mentest", 900, " for All"); // 對(duì)存在的key進(jìn)行數(shù)據(jù)添加操作
System.out.println("append status:" + fo.get()); // 打印狀態(tài)
System.out.println("mentest value in cache - " + mcc.get("codingground"));
fo = mcc.prepend("mentest", 900, "Free "); // 對(duì)存在的key進(jìn)行數(shù)據(jù)添加操作
System.out.println("prepend status:" + fo.get()); // 打印狀態(tài)
System.out.println("mentest value in cache - " + mcc.get("codingground"));
CASValue casValue = mcc.gets("mentest"); // 通過 gets 方法獲取 CAS token(令牌)
System.out.println("CAS token - " + casValue); // 輸出 CAS token(令牌) 值
CASResponse casresp = mcc.cas("mentest", casValue.getCas(), 900, "Tutorials-Library");
System.out.println("CAS Response - " + casresp); // 輸出 CAS 響應(yīng)信息
System.out.println("mentest value in cache - " + mcc.get("mentest"));
fo = mcc.delete("mentest"); // 對(duì)存在的key進(jìn)行數(shù)據(jù)添加操作
System.out.println("delete status:" + fo.get()); // 打印狀態(tài)
System.out.println("mentest value in cache - " + mcc.get("codingground"));
System.out.println("value in cache after increment - " + mcc.incr("number", 111));
System.out.println("value in cache after decrement - " + mcc.decr("number", 112));
mcc.shutdown(); // 關(guān)閉連接
}catch(Exception ex){
System.out.println( ex.getMessage() );
}
}
}
(1)連接操作:程序中使用 InetSocketAddress 連接 IP 為 127.0.0.1 端口 為 11211 的 memcached 服務(wù)。
(2)set 操作:mcc.set("mentest", 900, "Free Education")
(3)add 操作:mcc.add("mentest", 900, "memcached")
(4)replace 操作:mcc.replace("mentest", 900, "Tutorials' Library")
(5)append 操作:append("mentest", 900, " for All")
(6)prepend 操作:mcc.prepend("mentest", 900, "Free ")
(7)CAS 操作:mcc.cas("mentest", casValue.getCas(), 900, "Tutorials-Library")
(8)get 操作:mcc.get("mentest")
(9)gets 操作:mcc.gets("mentest")
(10)delete 操作:mcc.delete("mentest")
(11)Incr/Decr 操作:mcc.incr("number", 111)、mcc.decr("number", 112)
2、PHP 連接 Memcached 服務(wù)
(1)PHP Memcache 擴(kuò)展安裝
-
離線安裝
wget http://pecl.php.net/get/memcache-2.2.7.tgz tar -zxvf memcache-2.2.7.tgz cd memcache-2.2.7 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install -
在線安裝
yum install -y php-memcached systemctl start httpd //開啟apache systemctl start memcached //開啟memcached setenforce 0
(2)檢查安裝結(jié)果:/usr/local/php/bin/php -m | grep memcache
(3) Memcache類
- Memcache::add:增加一個(gè)條目到緩存服務(wù)器
- Memcache::addServer:向連接池中添加一個(gè)memcache服務(wù)器
- Memcache::close:關(guān)閉memcache連接
- Memcache::connect :打開一個(gè)memcached服務(wù)端連接
- Memcache::decrement :減小元素的值
- Memcache::delete :從服務(wù)端刪除一個(gè)元素
- Memcache::flush :清洗(刪除)已經(jīng)存儲(chǔ)的所有的元素
- Memcache::get :從服務(wù)端檢回一個(gè)元素
- Memcache::getExtendedStats :緩存服務(wù)器池中所有服務(wù)器統(tǒng)計(jì)信息
- Memcache::getServerStatus :用于獲取一個(gè)服務(wù)器的在線/離線狀態(tài)
- Memcache::getStats :獲取服務(wù)器統(tǒng)計(jì)信息
- Memcache::getVersion :返回服務(wù)器版本信息
- Memcache::increment:增加一個(gè)元素的值
- Memcache::pconnect:打開一個(gè)到服務(wù)器的持久化連接
- Memcache::replace :替換已經(jīng)存在的元素的值
- Memcache::set :Store data at the server
- Memcache::setCompressThreshold :開啟大值自動(dòng)壓縮
- Memcache::setServerParams :運(yùn)行時(shí)修改服務(wù)器參數(shù)和狀態(tài)
(4)Memcache 函數(shù):
- memcache_debug:轉(zhuǎn)換調(diào)試輸出的開/關(guān)