Memcache 在PHP使用技巧

内容摘要
这篇文章主要为大家详细介绍了Memcache 在PHP使用技巧,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!add($key, $value, $expiry);$key:
文章正文

这篇文章主要为大家详细介绍了Memcache 在PHP使用技巧,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

add($key, $value, $expiry);$key: 唯一标识, 用于区分写入的数据$value: 要写入的数据$expiry: 过期时间, 默认为永远有效用途: 将数据写入到memcache中get($key)$key: 通过写入时的$key获取对应的数据用途: 获取memcache中的数据replace($key, $value, $expiry)该方法参数与add方法的参数相同用途也很明显就是替换数据delete($key, $time = 0)$key: 唯一标识$time: 延迟时间用途: 删除memcache中存储的数据下面来看看具体用法:add($key, $value, $expiry);$key: 唯一标识, 用于区分写入的数据$value: 要写入的数据$expiry: 过期时间, 默认为永远有效用途: 将数据写入到memcache中get($key)$key: 通过写入时的$key获取对应的数据用途: 获取memcache中的数据replace($key, $value, $expiry)该方法参数与add方法的参数相同用途也很明显就是替换数据delete($key, $time = 0)$key: 唯一标识$time: 延迟时间用途: 删除memcache中存储的数据下面来看看具体用法:代码

代码如下:

 
<?php 
$m = new Memcache(); 
$m->connect('localhost', 11211); 
$data = 'content'; //需要缓存的数据 
$m->add('mykey', $data);echo $m->get('mykey'); // 输出 content 
$m->replace('mykey', 'data'); //替换内容为dataecho $m->get('mykey');//输出 data 
$m->delete('mykey'); //删除echo $m->get('mykey'); //输出 false 因为已经删掉了哦.. 
?> 
是不是很简单.. 在实际应用中,通常会把数据库查询的结果集保存到 memcached 中下次访问时直接从 memcached 中获取,而不再做数据库查询操作,这样可以在很大程度上减轻数据库的负担。通常会将 SQL 语句 md5() 之后的值作为唯一标识符 key。下边是一个利用 memcached 来缓存数据库查询结果集的示例代码

代码如下:

 
<?php 
//连接memcache 
$m = new Memcache(); 
$m->connect('localhost', 11211); 
//连接数据库的我就不写了. 
$sql = 'SELECT * FROM users'; 
$key = md5($sql); //md5 SQL命令 作为 memcache的唯一标识符 
$rows = $m->get($key); //先重memcache获取数据 
if (!$rows) { 
//如果$rows为false那么就是没有数据咯, 那么就写入数据 
$res = mysql_query($sql); 
$rows = array(); 
while ($row = mysql_fetch_array($res)) { 
$rows[] = $row; 
} 
$m->add($key, $rows); 
//这里写入重数据库中获取的数据, 可以设置缓存时间, 具体时间设置多少, 根据自己需求吧. 
} 
var_dump($rows); //打印出数据 
//上面第一次运行程序时, 因为还没有缓存数据, 所以会读取一次数据库, 当再次访问程序时, 就直接重memcache获取了. 
?> 

注:关于Memcache 在PHP使用技巧的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!