memcache緩存使用詳解
初始化一個Memcache的對象:
$mem = new Memcache();
連接到我們的Memcache服務器端,第一個參數是服務器的IP地址,也可以是主機名,第二個參數是Memcache的開放的端口:
$mem->connect("localhost", 11211);
保存一個數據到Memcache服務器上,第一個參數是數據的key,用來定位一個數據,第二個參數是需要保存的數據內容,這里是一個字符串,第三個參數是一個標記,一般設置為0或者MEMCACHE_COMPRESSED就行了,第四個參數是數據的有效期,就是說數據在這個時間內是有效的,如果過去這個時間,那么會被Memcache服務器端清除掉這個數據,單位是秒,如果設置為0,則是永遠有效,我們這里設置了60,就是一分鐘有效時間:
$mem->set('key1', 'This is first value', 0, 60);
從Memcache服務器端獲取一條數據,它只有一個參數,就是需要獲取數據的key,我們這里是上一步設置的key1,現在獲取這個數據后輸出輸出:
$val = $mem->get('key1');
echo "Get key1 value: " . $val;
現在是使用replace方法來替換掉上面key1的值,replace方法的參數跟set是一樣的,不過第一個參數key1是必須是要替換數據內容的key,最后輸出了:
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val;
同樣的,Memcache也是可以保存數組的,下面是在Memcache上面保存了一個數組,然后獲取回來并輸出
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
print_r($val2);
現在刪除一個數據,使用delte接口,參數就是一個key,然后就能夠把Memcache服務器這個key的數據刪除,最后輸出的時候沒有結果
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br>";
最后我們把所有的保存在Memcache服務器上的數據都清除,會發現數據都沒有了,最后輸出key2的數據為空,最后關閉連接
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br>";
Memcache的使用
可以將用戶名和用戶ID組合成memcache的令牌,再將對應的數據存入。設置過期時間,在使用的時候通過這個唯一的令牌獲取所要的值。在數據更新時,先將之前的令牌的值刪除再將新值存入。

浙公網安備 33010602011771號