Memcache 学习笔记(二)---- PHP 脚本操作 Memcache 服务器
PHP 脚本操作 Memcache 服务器
一、PHP脚本操作Memcache方法
使用 PHP 脚本操作 Memcache,在 PHP 手册中有详细的介绍,我们可以实例化 Memcache 类,根据需求调取对象方法。Memcached 是较 Memcache 更加
强大的类库,功能更多,这里只介绍Memcache。
部分方法介绍:
1.Memcache::add — 增加一个条目到缓存服务器
2.Memcache::addServer — 向连接池中添加一个memcache服务器
3.Memcache::close — 关闭memcache连接
4.Memcache::connect — 打开一个memcached服务端连接
5.Memcache::decrement — 递减元素的值
6.Memcache::delete — 从服务端删除一个元素
7.Memcache::flush — 清洗(删除)已经存储的所有的元素
8.Memcache::get — 从服务端检回一个元素
9.Memcache::getExtendedStats — 缓存服务器池中所有服务器统计信息
10.Memcache::getServerStatus — 用于获取一个服务器的在线/离线状态
11.Memcache::getStats — 获取服务器统计信息
13.Memcache::increment — 自增一个元素的值
14.Memcache::pconnect — 打开一个到服务器的持久化连接(设置要考虑访问并发率)
15.Memcache::replace — 替换已经存在的元素的值
16.Memcache::set — Store data at the server
17.Memcache::setCompressThreshold — 开启大值自动压缩
18.Memcache::setServerParams — 运行时修改服务器参数和状态
二、PHP 脚本应用 Memcache 基本思想(Memcache 工作流程)
样例:当我们需要获取某表中的用户信息,我们使用 URL 地址 传参(GET方式)向 Memcache 服务器请求数据。根据 Memcache 服务器本身的工作特点,当其中没有存储请求相应的值
时, Memcache 会向数据库请求数据,成功获取数据后回馈客户端的同时,在自身内部也存储一份,以便下次相同请求,这样数据就会直接从内存调取,极大的提升请求效率,减轻数据库的压力。
1 <?php 2 3 // 实例化 Memcache 4 $m = new Memcache; 5 6 // 链接 Memcache 服务器 7 $m->connect('localhost',11211); 8 9 // 获取 GET 值 10 $id = $_GET['id']; 11 12 // 定义 sql 结构化语句 13 $sql = "SELECT * FROM user WHERE id=".$id; 14 15 // 加密处理 16 $key = md5($sql); 17 18 // 检查 Memcache 中是否存储数据 19 if(!$m->get($key)) 20 { 21 // 实例化PDO链接数据库 22 $pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8;port=3306','root',''); 23 24 // 查询数据 25 $stmt = $pdo->query($sql); 26 27 // 解析结果集 28 $data = $stmt->fetch(PDO::FETCH_ASSOC); 29 30 // 设置数据到 Memcache 中 31 $m->set($key,$data); 32 } 33 34 var_dump($m->get($key));