Memcache在PHP中的使用技巧
PHP 使用 技巧 memcache
2023-06-13 09:14:16 时间
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中存储的数据
下面来看看具体用法:
代码
复制代码代码如下:
$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=newMemcache();
$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=newMemcache();
$m->connect("localhost",11211);
//连接数据库的我就不写了.
$sql="SELECT*FROMusers";
$key=md5($sql);//md5SQL命令作为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获取了.
?>
相关文章
- PHP常见面试题_php算法面试题及答案
- PHP使用ArrayAccess实现配置文件的加载
- 【说站】php引用的使用注意
- 使用 PHP 把 16 进制的颜色代码转换成 RGB 数组
- MySQL异常捕获:使用PHP技巧轻松完成(php捕获mysql异常)
- 使用Redis集群提升PHP性能(redis集群php)
- MySQL数据库操作:用PHP实现(php操作mysql数据库)
- 使用 PHP 执行 Linux 命令:轻松运维(php执行linux命令)
- 文件MySQL更新实现快速PHP文件升级(mysql更新php)
- 利用PHP操作Redis变得更简单(php中redis的使用)
- 使用PHP连接Linux,轻松实现物联网设备管理。(php连接linux)
- PHP使用Redis实现数据存储(php连接redis)
- 高效实现消息处理: Redis队列与PHP的并发技巧(redis队列并发php)
- 使用PHP操作MySQL数据库的基础——mysql类库(mysql类库php)
- Linux操作系统下的PHP编译器使用技巧(linux php编译器)
- 快速学习PHP Redis的使用方法(php redis怎么用)
- 使用PHP实现远程连接MSSQL数据库(php远程连接mssql)
- 简便快捷:在PHP服务器上使用MSSQL(php服务器 mssql)
- 使用PHP扩展开发MSSQL应用(php扩展使用mssql)
- 使用PHP封装MSSQL管理数据库(php封装mssql)
- 使用PHP 驱动MSSQL支撑稳固的开发环境(php mssql 驱动)
- 在Linux环境下,使用PHP发送邮件(linux发送邮件php)
- 使用Redis锁实现PHP程序的安全性(redis锁机制 php)
- 使用PHP连接Redis应用的指南(redis连接 php)
- 需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
- php使用post,get的一种简洁方式
- 使用PHP静态变量当缓存的方法
- C#使用PHP服务端的WebService通信实例
- PHP反射使用实例和PHP反射API的中文说明
- PHP命名空间(namespace)的动态访问及使用技巧