php使用memcache進行資料庫快取

2021-09-02 15:45:33 字數 2297 閱讀 9340

概念

memcache 是乙個高效的分布式的記憶體物件快取系統,他可以支援把php的各種資料(陣列,物件,基本資料型別)放在它管理的記憶體中

原理圖

安裝memcached

yum install memcached #安裝memcached

chkconfig --add memcached #設定系統自動啟動

vim /etc/init.d/memcached #設定memcached啟動的引數

安裝memcache client  php外掛程式

wget   

tar -xvf memcache-2.1.2.tgz

cd memcache-2.1.2

phpize && ./configure --enable-memcache && make

#拷貝memcache.so到php的擴充套件module中

#修改php.ini檔案,新增extension=memcache.so

**使用

<?php 

//1.例項化乙個memcache物件

$mem=new memcache;

//2. 連線到指定的memcache中

$mem->connect("127.0.0.1",11211);

//0表示不壓縮資料,如果使用壓縮memcache_compressed

if(!$mem->add("name","test1",0,30))else

//可以放入數值

if(!$mem->add("age",100,0,30))else

//可以放入boolean

if(!$mem->set("ok",true,0,30))else

//放入陣列

$arr1=array("aa"=>"北京","bb"=>"天津");

//對陣列進行序列化,在網路傳輸的時候,為了保證,資料型別的不丟失,

//先序列化,再發生.

//$arr1=serialize($arr1);

$arr2=json_encode($arr1);

print_r($arr2);

$mem->add("arr",$arr1,memcache_compressed,100);

//物件

require "person.class.php";

$person=new person(10,"xiaoming");

$mem->add("per1",$person,memcache_compressed,100);

//取出

$per2=$mem->get("per1");

var_dump($per2);

echo "物件名字=".$per2->name;

//string, int,float, boolean array object null resource

//不能把resource 型別放入到memcache

$con=mysql_connect("localhost","root","root");

echo "

"; var_dump($con);

$mem->add("mylink",$con);

?>

關於如何使用多個memcached 快取伺服器.

<?php

$mem=new memcache();

//如果我們**,需要多個memached快取系統.

//$mem->connect("localhost",11211); (立即向localhost的11211埠發出連線)

$mem->addserver("192.168.1.100",11211);//256 ->10m

$mem->addserver("192.168.1.200",11211);

$mem->addserver("192.168.1.222",11211);

//建立多個memcache服務使用.

//addserver 會根據負載均衡演算法,自動放入每個伺服器

$mem->add("name","zs",0,100);

?>

注意:string, int,float, boolean  array object null resource 中除了 resource 不能存放,其它都可以.

memcache使用例項 PHP

首先,判斷 memcache 中是否存在key,如果有則從memcache中取值 如果沒有相應的key,則從去網頁中抓取資料,如果抓取成功,則存入db,寫入memcache並讀取,如果抓取不成功,則直接 mysql 中取值,並將取出來的值放入memcache。include inc common.i...

memcache使用例項 PHP

首先,判斷 memcache 中是否存在key,如果有則從memcache中取值 如果沒有相應的key,則從去網頁中抓取資料,如果抓取成功,則存入db,寫入memcache並讀取,如果抓取不成功,則直接 mysql 中取值,並將取出來的值放入memcache。php view plain copy ...

memcache 使用php操作memcache

1 概念 memcache 是乙個高效的分布式的記憶體物件快取系統,他可以支援把php的各種資料 陣列,物件,基本資料型別 放在它管理的記憶體中 2.安裝步驟 2 開啟php.ini檔案 這裡啟用memcache.dll擴充套件 extension php memcache.dll 3 使用 1.例...