memcached +mysql+php 测试例子
2010-05-18 17:33
477 查看
最近看了看memcached 缓存 mysql,经过一段时间的研究·把自己测试方法写出来,给像我一样的初学者用~
我的环境是 nginx + php-fpm + apc + mysql
编译安装memcached
tar zxvf memcached-1.4.0.tar.gz
cd memcached-1.4.0
./configure --prefix=/usr
make
make install
启动memcached
memcached -d -m 64 -u root -l 192.168.6.191 -p 11211 -c 64 -P /tmp/memcached.pid/usr/local/mysql/bin/mysql -uroot -p
创建一个测试数据库 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
<?php
$memcachehost = '192.168.6.191';
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->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 "<br>";
//print_r($data);
foreach($data as $a)
{
echo "number is <b><font color=#FF0000>$a[pi_id]</font></b>";
echo "<br>";
echo "name is <b><font color=#FF0000>$a[pi_name]</font></b>";
echo "<br>";
echo "tel is <b><font color=#FF0000>$a[pi_tel]</font></b>";
echo "<br>";
echo "qq is <b><font color=#FF0000>$a[pi_qq]</font></b>";
echo "<br>";
echo "email is <b><font color=#FF0000>$a[pi_email]</font></b>";
echo "<br>";
}
?>
我的环境是 nginx + php-fpm + apc + mysql
编译安装memcached
tar zxvf memcached-1.4.0.tar.gz
cd memcached-1.4.0
./configure --prefix=/usr
make
make install
启动memcached
memcached -d -m 64 -u root -l 192.168.6.191 -p 11211 -c 64 -P /tmp/memcached.pid/usr/local/mysql/bin/mysql -uroot -p
创建一个测试数据库 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
<?php
$memcachehost = '192.168.6.191';
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->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 "<br>";
//print_r($data);
foreach($data as $a)
{
echo "number is <b><font color=#FF0000>$a[pi_id]</font></b>";
echo "<br>";
echo "name is <b><font color=#FF0000>$a[pi_name]</font></b>";
echo "<br>";
echo "tel is <b><font color=#FF0000>$a[pi_tel]</font></b>";
echo "<br>";
echo "qq is <b><font color=#FF0000>$a[pi_qq]</font></b>";
echo "<br>";
echo "email is <b><font color=#FF0000>$a[pi_email]</font></b>";
echo "<br>";
}
?>
相关文章推荐
- memcached +mysql+php 测试例子
- memcached +mysql+php 测试例子
- memcached +mysql+php 例子
- memcached +mysql+php 测试案例
- mysql的安装,关于/etc/init.d/下没有mysqld的命令,及php与mysql的连接测试
- php连接mysql测试和配置
- MySQL中group by测试例子
- Mac下一键安装Apache/Nginx+MySQL+PHP开发环境 及各版本测试PHP探针
- [数据库测试]强烈推荐一个python ODBC数据源插件,可支持Oracle,Db2,Mysql,Sql-server以及各种数据库版本,附例子和测试程序
- ubuntu16.04编译安装mysql-boost-5.7.21并编译成php扩展测试与使用
- php memcached+Mysql(主从)
- php中mysql连接和基本操作代码(快速测试使用,简单方便)
- Ubuntu 11.04编译安装nginx、PHP 5.3、mysql、mongodb、memcached、ssl、smtp
- Mac Yosemite安装配置nginx+php+mysql+memcached环境
- 门户网站架构Nginx+Apache+MySQL+PHP+Memcached+Squid
- PHP与MYSQL中UTF8 中文排序例子
- 一次Nginx+PHP+Mysql的并发测试经历
- 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()
- 门户网站架构Nginx+Apache+MySQL+PHP+Memcached+Squid