php memcache应用场景,解析php中memcache的应用

所需环境:php 5.3.3

apache 2.2.7

mysql 5.5.8

相关文档下载:测试代码:

//连接

$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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值