php5.4之分佈式緩存memcache(windows7下安裝配置)

一、安裝memcache

memcached在windows7上的安裝問題

現在安裝包:https://www.jb51.net/softs/44843.html
memcache的安裝包

錯誤:

通過cmd命令行進入到D:\webEve\memcached(下載後的解壓目錄)

運行 memcached.exe -d install

報錯“ failed to install service or service already installed”

解決方法:

www.2cto.com

管理員身份安裝,首先找出cmd.exe的原文件

右擊以管理員身份運行,接下來就OK(win7下的用戶還真麻煩).

Windows下的Memcache安裝:

1. 下載memcache的windows穩定版,解壓放某個盤下面,比如在D:\webEve\memcached

2. 在終端(也即cmd命令界面)下輸入 ‘D:\webEve\memcached\memcached.exe -d install’ 安裝

3. 再輸入:’D:\webEve\memcached\memcached.exe -d start’ 啟動。NOTE:

以後memcached將作為windows的一個服務每次開機時自動啟動。這樣伺服器端已經安裝完畢瞭。

4.下載php_memcache.dll,請自己查找對應的php版本的文件

5. 在php.ini 加入一行 ‘extension=php_memcache.dll’

6.重新啟動Apache,然後查看一下phpinfo,如果有memcache,那麼就說明安裝成功!

memcached的基本設置:

-p 監聽的端口

-l 連接的IP地址, 默認是本機

-d start 啟動memcached服務

-d restart 重起memcached服務

-d stop|shutdown 關閉正在運行的memcached服務

-d install 安裝memcached服務 www.2cto.com

-d uninstall 卸載memcached服務

-u 以的身份運行 (僅在以root運行的時候有效)

-m 最大內存使用,單位MB。默認64MB

-M 內存耗盡時返回錯誤,而不是刪除項

-c 最大同時連接數,默認是1024

-f 塊大小增長因子,默認是1.25

-n 最小分配空間,key+value+flags默認是48

-h 顯示幫助

php_memcached.dll csdn資源

php_memcached.dll csdn資源

二、安裝好memcache進行memcached在php的擴展配置

php_memcached.dll csdn資源

在php.ini中粘貼開啟擴展 同時將此文件放到ext擴展文件中
那現在memcache就ok瞭可以用瞭,來試試!

<?php
header(“Content-type:text/html;charset=utf-8”);
$host = ‘127.0.0.1:3306’;
$user = ‘root’;
$passwd = ”;
$db = ‘test’;
$conn = mysql_connect($host,$user,$passwd);
mysql_select_db($db,$conn);
mysql_query(“set names utf8”,$conn);
$sql = ‘select * from syl_rollback order by id desc’;
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)){
$test_key[] = $row;
}
echo “

";
var_dump($test_key);
echo "

“;
echo “


“;
$sql = md5($sql);
$mem = new Memcache; //實例化memcache對象
$mem->connect(“192.168.1.134”, 11211);
//連接本地ip 11211是memcache的端口號
$mem->set($sql,$test_key, MEMCACHE_COMPRESSED, 600); //將$test_key數組存放在鍵值為$sql裡面註意:memcache緩存好的數據,有生存時間,默認會一個小時候過期,當然可以自己設置一個過期時間瞭,
600就是$sql這個鍵值對應的生存時間
echo “

";
print_r($mem->get($sql)); //獲取鍵值為$sql的值
echo "

“;

?>

例二:

<?php
header(“Content-type:text/html;charset=utf8”);

$sql = ‘select * from syl_rollback order by id desc’;

$sql = md5($sql);
$mem = new Memcache;
$mem->connect(“192.168.1.134”, 11211);
//$mem->flush(); //對緩存數據進行清空
$mem->add(“hehe”,”memcahce”); //給鍵值為hehe的設值value為memcache
echo $mem->get(“hehe”),”


“; //讀取鍵值為hehe的值
echo “

";
print_r($mem->get($sql));
echo "

“;
?>

此時,memcache你就基本上可以使用瞭,如何應用到你的網站中呢?

首先,封裝好一個memcache實例化的類,然後進行調用,網站中獲取數據時,先進性memcache緩存中讀取,如果讀取到瞭,即使用讀取到的數據,顯示到頁面,此時就不操作伺服器瞭,節省瞭好多時間啊!如果沒用從緩存中讀到數據,即操作伺服器獲取!

也就是先和memcache要數據,如果沒有再去伺服器讀,註意讀取後,馬上存到memcache中

發佈留言