Home > Backend Development > PHP Tutorial > 解析php中memcache的应用_php技巧

解析php中memcache的应用_php技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-05-17 09:01:00
Original
949 people have browsed it
所需环境:
php 5.3.3
apache 2.2.7
mysql 5.5.8
相关文档下载:点击下载
解压Memcached_1.2.5文档,cmd下执行memcached.exe -d -install
将php5.3_vc6_memcachedll文档解压,将php_memcache.dll文件复制到php安装目录的ext文件目录中。
然后在php.ini 当中填上这句话:extension="php_memcache.dll"
在phpinfo()下查看,是否引用了memcache扩展。

测试代码:
复制代码 代码如下:

//连接
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."
";
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "
";
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "
";
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//关闭连接
$mem->close();
$memcachehost = '192.168.10.1';
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
$query="select * from user limit 10";
$key=md5($query);
if(!$memcache->get($key))
{
        $conn=mysql_connect("192.168.30.1","root","passwd");
        mysql_select_db(users);
        $result=mysql_query($query);
        while ($row=mysql_fetch_assoc($result))
        {
            $arr[]=$row;
        }
        $f = 'db';
        $memcache->add($key,serialize($arr),0,30);
        $data = $arr ;
}
else{
        $f = 'mem';
    $data_mem=$memcache->get($key);
    $data = unserialize($data_mem);
}
echo $f;
echo "";
//print_r($data);
foreach($data as $a)
{
        echo $a[user_id]._.$a[email];
        echo "";
}
?>

新闻系统的应用:
复制代码 代码如下:

//==============memcache
$memcachehost = '127.0.0.1';
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
//==============新闻
 $sql="SELECT id,title,left(title,16) as biaoti,date_time FROM `p_newsbase` where shenhe='1' order by id DESC limit 7 ";
 $query=$db->query($sql);
 $key=md5($query);
 while($row_news=$db->fetch_array($query)){
  $str=$row_news['biaoti'].$db->time_out($row_news['date_time']);
  $sm_news[]=array("name"=>$str,"title"=>$row_news['title'],"id"=>$row_news['id'],"date_time"=>$row_news['date_time']);
 }
 if(!$memcache->get($key)){
  $memcache->add($key,serialize($sm_news),0,$memcachelife);
 }else{
  $data_mem=$memcache->get($key);
    $sm_news = unserialize($data_mem);
 }
 $smarty->assign("sm_news",$sm_news);

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template