国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

Memcache 基礎(chǔ)教程(php 緩存)

2019-11-02 16:19:51
字體:
供稿:網(wǎng)友
Memcache是什么

Memcache是danga.com的一個(gè)項(xiàng)目,最早是為 LiveJournal 服務(wù)的,目前全世界不少人使用這個(gè)緩存項(xiàng)目來構(gòu)建自己大負(fù)載的網(wǎng)站,來分擔(dān)數(shù)據(jù)庫的壓力。

它可以應(yīng)對(duì)任意多個(gè)連接,使用非阻塞的網(wǎng)絡(luò)IO。由于它的工作機(jī)制是在內(nèi)存中開辟一塊空間,然后建立一個(gè)HashTable,Memcached自管理這些HashTable。

Memcache官方網(wǎng)站:http://www.danga.com/memcached,更多詳細(xì)的信息可以來這里了解

為什么會(huì)有Memcache和memcached兩種名稱?

其實(shí)Memcache是這個(gè)項(xiàng)目的名稱,而memcached是它服務(wù)器端的主程序文件名,知道我的意思了把~~~~。一個(gè)是項(xiàng)目名稱,一個(gè)是主程序文件名,在網(wǎng)上看到了很多人不明白,于是混用了。

Memcache的安裝

分為兩個(gè)過程:memcache服務(wù)器端的安裝和memcached客戶端的安裝。

所謂服務(wù)器端的安裝就是在服務(wù)器(一般都是linux系統(tǒng))上安裝Memcache實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)

所謂客戶端的安裝就是指php(或者其他程序,Memcache還有其他不錯(cuò)的api接口提供)去使用服務(wù)器端的Memcache提供的函數(shù),需要php添加擴(kuò)展。

PHP的Memcache

復(fù)制代碼 代碼如下:

< ?php

//連接

$mem = new Memcache;

$mem->connect("192.168.0.200", 12000);

//保存數(shù)據(jù)

$mem->set('key1', 'This is first value', 0, 60);

$val = $mem->get('key1');

echo "Get key1 value: " . $val ."<br />";

//替換數(shù)據(jù)

$mem->replace('key1', 'This is replace value', 0, 60);

$val = $mem->get('key1');

echo "Get key1 value: " . $val . "<br />";

//保存數(shù)組

$arr = array('aaa', 'bbb', 'ccc', 'ddd');

$mem->set('key2', $arr, 0, 60);

$val2 = $mem->get('key2');

echo "Get key2 value: ";

print_r($val2);

echo "<br />";

//刪除數(shù)據(jù)

$mem->delete('key1');

$val = $mem->get('key1');

echo "Get key1 value: " . $val . "<br />";

//清除所有數(shù)據(jù)

$mem->flush();

$val2 = $mem->get('key2');

echo "Get key2 value: ";

print_r($val2);

echo "<br />";

//關(guān)閉連接

$mem->close();

?>

如果正常的話,瀏覽器將輸出:

Get key1 value: This is first value

Get key1 value: This is replace value

Get key2 value: Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd )

Get key1 value:

Get key2 value:

程序代碼分析

初始化一個(gè)Memcache的對(duì)象:

$mem = new Memcache;

連接到我們的Memcache服務(wù)器端,第一個(gè)參數(shù)是服務(wù)器的IP地址,也可以是主機(jī)名,第二個(gè)參數(shù)是Memcache的開放的端口:

$mem->connect("192.168.0.200", 12000);

保存一個(gè)數(shù)據(jù)到Memcache服務(wù)器上,第一個(gè)參數(shù)是數(shù)據(jù)的key,用來定位一個(gè)數(shù)據(jù),第二個(gè)參數(shù)是需要保存的數(shù)據(jù)內(nèi)容,這里是一個(gè)字符串,第三個(gè)參數(shù)是一個(gè)標(biāo)記,一般設(shè)置為0或者M(jìn)EMCACHE_COMPRESSED就行了,第四個(gè)參數(shù)是數(shù)據(jù)的有效期,就是說數(shù)據(jù)在這個(gè)時(shí)間內(nèi)是有效的,如果過去這個(gè)時(shí)間,那么會(huì)被Memcache服務(wù)器端清除掉這個(gè)數(shù)據(jù),單位是秒,如果設(shè)置為0,則是永遠(yuǎn)有效,我們這里設(shè)置了60,就是一分鐘有效時(shí)間:
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 青铜峡市| 西畴县| 漳州市| 吴川市| 辉县市| 绩溪县| 余干县| 南开区| 长宁县| 三亚市| 肃宁县| 长宁区| 兴城市| 大石桥市| 双江| 略阳县| 贡嘎县| 濮阳市| 正定县| 淄博市| 北辰区| 新沂市| 巢湖市| 宜宾县| 宁蒗| 咸丰县| 石狮市| 浮梁县| 邹平县| 旺苍县| 兴文县| 兰溪市| 开化县| 翼城县| 无极县| 岳西县| 东安县| 平南县| 承德县| 五台县| 灌云县|