存档

‘缓存机制’ 分类的存档

memcached +mysql+php 测试例子[转]

2010年8月9日 wenhui 没有评论

来源:http://deidara.blog.51cto.com/400447/317526

最近看了看memcached 缓存 mysql,经过一段时间的研究·把自己测试方法写出来,给像我一样的初学者用~
我的环境是 nginx + php-fpm + apc + mysql
启动memcached

memcached -d -m 64 -u root -l 192.168.6.191 -p 11211 -c 64 -P /tmp/memcached.pid

创建一个测试数据库 mydb

create database mydb;

创建一个空的数据表

personal_info
CREATE TABLE `personal_info` (
`pi_id` bigint(20) NOT NULL auto_increment,
`pi_name` varchar(50) NOT NULL,
`pi_tel` varchar(15) default NULL,
`pi_qq` varchar(15) default NULL,
`pi_email` varchar(50) default NULL,
PRIMARY KEY (`pi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

给表插入数据

INSERT INTO `mydb`.`personal_info` (
`pi_id` ,
`pi_name` ,
`pi_tel` ,
`pi_qq` ,
`pi_email`
)
VALUES (
’1′, ‘eric’, ’13611031222′, ’55555555′, ‘eric@nginxs.com’
);

创建一个 php 文件 mysql-memcache.php

connect($memcachehost,$memcacheport) or die (“Could not connect”);
$query=”select * from personal_info limit 10″;
$key=md5($query);
if(!$memcache->get($key))
{
$conn=mysql_connect(“localhost”,”root”,”passwd”);
mysql_select_db(mydb);
$result=mysql_query($query);
while ($row=mysql_fetch_assoc($result))
{
$arr[]=$row;
}
$f = ‘mysql’;
$memcache->add($key,serialize($arr),0,30); //mysql 查询后,插入 memcached
$data = $arr ;
}
else{
$f = ‘memcache’;
$data_mem=$memcache->get($key);
$data = unserialize($data_mem);
}
echo $f;
echo ”
“;
//print_r($data);
foreach($data as $a)
{
echo “number is $a[pi_id]“;
echo ”
“;
echo “name is $a[pi_name]“;
echo ”
“;
echo “tel is $a[pi_tel]“;
echo ”
“;
echo “qq is $a[pi_qq]“;
echo ”
“;
echo “email is $a[pi_email]“;
echo ”
“;

}
?>

分类: 挨踢, 缓存机制 标签: , ,