在php中使用memcache有一下两处地方
1、数据库读出来的数据(select)使用memcache处理
<?php
/*
*数据库读出来的数据(select)使用memcache处理
*/
$mem = new Memcache;
$mem->connect("localhost",11211);
//$mem->addServer("www.lamp.com",11211);
$sql = "select * from product";
$key = MD5($sql);
$data = $mem->get($key);
if(!$data)
{
$mysqli = new mysqli("localhost","root","","shop");
$result = $mysqli->query($sql);
$data = array();
while($row=$result->Fetch_assoc())
{
$data[]=$row;
}
$result->free();
$mysqli->close();
$mem->set($key,$data,MEMCACHE_COMPRESSED,3600);
echo $sql;
}
echo '<pre>';
print_r($data);
echo '</pre>';
$mem->close();
?>
要注意:
1)为了预防同一个项目安装多次而导致memcache中键的混乱,KEY一定要指定 前缀;
2)为了避免同个sql语句执行多次,可以用sql语句做键值。
3)为了确保外网不能访问memcache中的内容,可以采取一下措施:
1.内网:memcached -d -u root -l 192.168.1.111 -p 11211
2.设置防火墙
Iptables -A INPUT -p tcp -s 192.168.1.111 --dport 11211 -j ACCEPT
Iptables -A INPUT -p ucp -s 192.168.1.111 --dport 11211 -j ACCEPT
2、在会话控制中使用