memcached +mysql+php 例子

本文介绍了一种结合MySQL数据库与Memcached缓存技术的方法,通过缓存查询结果来提高系统的响应速度和效率。当接收到查询请求时,首先尝试从Memcached中获取数据,若未命中则从MySQL中查询并更新缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
header("content-type:text/html;charset=utf-8");
$memcachehost = '127.0.0.1'; 
$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>"; 
 
} 
?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值