網站提速-緩存技術(5)

 PHP中使用memcachephp

數據庫(select)讀出來的數據使用memcache mysql

在會話控制session中使用 sql

<?php 數據庫

$mem=new Memcache; 緩存

$mem->connect("localhost",11211); 安全

 

$sql="select * from saisai"; session

$mysqli=new mysqli("192.168.211.128","root","","test"); tcp

$result=$mysqli->query($sql); ide

$data=array(); memcached

while($row=$result->fetch_assoc()){

$data[]=$row;

}

$result->free();

$mysqli->close();

 

echo '<pre>';

print_r($data);

echo '</pre>';

?>

 

<?php

$mem=new Memcache;

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

$data=$mem->get("shops");

 

if(!$data){

$sql="select * from saisai";

$mysqli=new mysqli("192.168.211.128","root","","test");

$result=$mysqli->query($sql);

$data=array();

while($row=$result->fetch_assoc()){

$data[]=$row;

}

$result->free();

$mysqli->close();

 

$mem->set("shops",$data,MEMCACHE_COMPRESSED,3600);

echo $sql;

}

echo '<pre>';

print_r($data);

echo '</pre>';

 

$mem->close();

?>

使用memcache緩存數據庫內容,第一遍要查找數據庫,並輸出sql語句,之後就不用查找了。

 

 

memcache安全性:

1、內網設置memcache:只容許211.1訪問

Memcache -d -u root -192.168.211.1 -p 11211

2、使用防火牆:容許211的訪問

Iptables -A input -p tcp -s 192.168..211.1 --dport 11211 -j ACCEPT //

使用memcached 的因素:

--若是是一個小網站,pv值不大,就不考慮使用memcache

--變化頻繁,查詢頻繁,可是不必定寫入數據庫(適合memcached)(用戶在線狀態.)

--變化頻繁一變化就要入庫[好比股票,金融.](不適合memcached)

--變化不頻繁,查詢頻繁,無論如不入庫,都比較適合memcache(新浪的新聞頻道)

相關文章
相關標籤/搜索