memcache函式詳解

2021-05-24 15:17:26 字數 4148 閱讀 1880

memcache函式庫是在pecl(php extension community library)中,主要作用是搭建大容量的記憶體資料 的臨時存放區域,在分布式的時候作用體現的非常明顯,否則不建議使用。2 r8 d# i; q- z

memcache函式所有的方法列表如下:

memcache::add - 新增乙個值,如果已經存在,則返回false

9 d" z+ l  |9 q$ b: i8 t

memcache::addserver - 新增乙個可供使用的伺服器 位址6 r' ?- y; n7 g. _# f) f

memcache::close - 關閉乙個memcache物件

7 b4 r" o( v& k# e6 a memcache::connect - 建立乙個memcache物件

! p5 b% t0 s' ]% m* j; z) m memcache_debug - 控制除錯功能

1 j2 b. ]0 t( ~2 c! l# c

memcache::decrement - 對儲存的某個key中的值進行減法操作

4 k# z, n) k% y$ l9 m memcache::delete - 刪除乙個key值: a2 x1 d0 v1 p

memcache::flush - 清除所有快取的資料6 v! g& t4 }" j# m: ~

memcache::get - 獲取乙個key值

! j$ d6 q: z# y8 r/ ^- [ memcache::getextendedstats - 獲取程序池中所有程序的執行系統 統計, h- x$ a( z+ k

memcache::getserverstatus - 獲取執行服務 器的引數% s. [7 t& l% j. x' r

memcache::getstats - 返回伺服器的一些執行統計資訊* _( z- z6 /# s! p( s; g4 j9 k6 [

memcache::getversion - 返回執行的memcache的版本資訊

: f) g: % v# d

$ n& v3 z) j5 n& h' p, a5 z. w

memcache::add用法2 p5 ]9 x; y2 k  t; s

boolmemcache::add( string $key , mixed $var [, int $flag [, int $expire ]] )

說明:' i$ n6 v0 [2 w3 g8 b9 e

如果$key不存在的時候,使用這個函式來儲存$var的值。功能相同的函式是memcache_add()。

. i/ b( z3 ?/ g* @: t8 o5 [! k! o4 u

$ g1 i# [( i% a: |" p3 n

引數:, j" m( v& t7 t# ; p' o! u0 /. u' x: y& s

memcache::addserver用法

. |# o2 b" i* @% h2 s( s

boolmemcache::addserver( string $host [, int $port [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback ]]]]]]] )

說明:

& w: ?6 }1 q6 w+ z! d* _+ m 新增乙個可供使用的伺服器位址到連線池中,連線用memcache::addserver開啟,指令碼執行完後自動關閉,或者可以用memcache::close()手動關閉。相同函式是memcache_add_server()。/ t* d8 z1 ~& v: h

當用這個方法的時候(相對於memcache::connect()和 memcache::pconnect()方法),網路 連線只有等需要的時候才會建立,因此不會因為增加很多的伺服器到連線池而增加系統負擔,因為很多伺服器可能沒有使用。

+ z/ ~2 ~* l5 v 故障恢復會發生在這個方法執行的任何階段,只要其他的伺服器是正常的,這些連線請求的失敗使用者 不會注意到。任何一種socket或者memcached伺服器級的錯誤可以觸發故障恢復。正常的客戶端 錯誤比如增加乙個存在的鍵值不會引發故障恢復。

1 r% q% i, r( i' z$ ~6 k8 c. h4 j

) w: p' u3 x! t8 z, f  i6 d5 6 b# p/ a0 [$ h 如果成功則返回 true,失敗則返回 false。

5 r7 o9 m( k8 r) j

5 p) p/ a4 o9 ~+ r3 z9 ~例子:

2 ~' r7 f, `) w+ v

<?php

/* 物件導向api */

# f9 n8 e3 x3 ~, ~7 i $memcache = new memcache;( e" l, p1 e9 n0 q" b2 a/ d$ t5 l

$memcache->addserver(』memcache_host』, 11211);v2 ]# b4 n. n3 l6 e" e

$memcache->addserver(』memcache_host2′, 11211);

* o3 o+ _" d) }' x, n. m /* 面向過程 api */

0 w& _( o% @' j% w0 d  ]0 o $memcache_obj = memcache_connect(』memcache_host』, 11211);

1 /3 l( u3 i, w3 u memcache_add_server($memcache_obj, 』memcache_host2′, 11211);

$ z1 s% z( |3 _. t, e& p ?>

+ r* y9 r# x8 a) n, i- s

! j: ~. }' s( ^  ^, v1 j

f0 z, w5 f" t7 p8 k

memcache::close用法" v+ @: |* _* @& c0 j: v1 q

boolmemcache::close( void )( }0 c# u4 |" `% k

說明:

- v! }( q+ b. [0 r# ?: y 關閉memcache伺服器連線。這個函式不會關閉長連線,長連線只有在web 伺服器關閉或者重啟的時候才會關閉。相同的函式memcache_close()0 /# k4 @' j# d8 h% w

, ?( l' l; s3 o5 ~' ?返回值:" ~4 o& l7 ^. j- e% q/ m# e

如果成功則返回 true,失敗則返回 false。7 q$ t1 a# k0 a) p! c& u

4 @. s# p& o% _例子:; ^8 ^& h0 m6 u: ~

<?php

/* 面向過程 api */" o/ m0 o& w" `- m6 l: j6 h4 q' s

$memcache_obj = memcache_connect(』memcache_host』, 11211);

( t7 o% _/ a  p% p* x  g/ ]0 f% g /*

5 ]7 ~3 w% i/ m9 x- p

執行一些** .." r6 f( b0 j6 t* x$ q' [; v

*/; k# b- y; t; a

memcache_close($memcache_obj);

/* 物件導向 api *// u) a/ k# y* i

$memcache_obj = new memcache;( v1 j0 g( h- b$ l3 |8 q( u! z) u

$memcache_obj->connect(』memcache_host』, 11211);2 e3 v- o3 g& g7 |

/*

Memcache及telnent命令詳解 轉

1 啟動memcache 常用引數2 telnet連線 telnet 127.0.0.1 11211 3 寫入memcache 3.1 memcached telnet inte ce command description example getreads a value get mykey se...

php PHP操作Memcache基本函式

php php操作memcache基本函式 2 memcache 函式 memcache debug 轉換除錯輸出的開 關 memcache add server memcache close memcache connect memcache host 11211 memcache delete ...

小白談memcache和memcached的區別

用了段時間的memcache和memcached總結下認識,看很多人在用cache的時候,剛剛都沒有搞清楚memcache和memcached的區別,還有就是使用的時候基本都是 get set 用了memcached之後其實可以發現getmulti setmulti 是多麼好用,這篇寫個那些剛剛使用...