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

PHP操作Memcache基本思想(Memcache工作流程应用)

时间: 2024-08-10 14:16:09

Memcache 学习笔记(二)---- PHP 脚本操作 Memcache 服务器的相关文章

2. 蛤蟆Python脚本学习笔记二基本命令畅玩

2. 蛤蟆Python脚本学习笔记二基本命令畅玩 本篇名言:"成功源于发现细节,没有细节就没有机遇,留心细节意味着创造机遇.一件司空见惯的小事或许就可能是打开机遇宝库的钥匙!" 下班回家,咱先来看下一些常用的基本命令. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48092873 1.  数字和表达式 看下图1一就能说明很多问题: 加法,整除,浮点除,取模,幂乘方等.是不是很直接也很粗暴. 关于上限,蛤蟆不太清楚

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce

【Unity 3D】学习笔记二十七:unity游戏脚本(七)

使用C#编写游戏脚本 在前面提到,unity支持三种语言编写脚本:js,C#,boo.入门的时候建议只用js,因为js比较简单易懂,语法也不是很严格.但后来晋级的时候推荐使用C#,因为它比较符合unity的编程思想,执行效率更高.下面总结下怎么使用C#编写脚本. 继承MonoBehaviour类 在unity中,任何一个脚本,包括上述三种语言都需要去继承MonoBehaviour这个类.为什么我们之前写JS代码的时候没有继承咧?因为在创建JS代码的时候,系统会将其类名与继承关系隐藏起来. 在pr

Swift学习笔记(15)--下标脚本(Subscripts)

下标脚本可以定义在类(Class).结构体(structure)和枚举(enumeration)这些目标中,使用中类似数组或者字典的用法 1.定义 定义下标脚本使用subscript关键字,语法: subscript(index: Int) -> Int { get { // 返回与入参匹配的Int类型的值 } set(newValue) { // 执行赋值操作 } } 注:newValue的类型必须和下标脚本定义的返回类型相同.与计算型属性相同的是set的入参声明newValue就算不写,在s

Caliburn.Micro学习笔记(二)----Actions

Caliburn.Micro学习笔记(二)----Actions 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.Micro给我们提供了多强大的支持 我们还是从做例子开始 demo的源码下载在文章的最后 例子1.无参数方法调用 点击button把textBox输入的文本弹出来 如果textbox里没有文本button不可点,看一下效果图 看一下前台代码 <Stac

小猪的数据结构学习笔记(二)

小猪的数据结构学习笔记(二) 线性表中的顺序表 本节引言: 在上个章节中,我们对数据结构与算法的相关概念进行了了解,知道数据结构的 逻辑结构与物理结构的区别,算法的特性以及设计要求;还学了如何去衡量一个算法 的好坏,以及时间复杂度的计算!在本节中我们将接触第一个数据结构--线性表; 而线性表有两种表现形式,分别是顺序表和链表;学好这一章很重要,是学习后面的基石; 这一节我们会重点学习下顺序表,在这里给大家一个忠告,学编程切忌眼高手低,看懂不代表自己 写得出来,给出的实现代码,自己要理解思路,自己

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

Spring Batch学习笔记二

此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch的架构 一个Batch Job是指一系列有序的Step的集合,它们作为预定义流程的一部分而被执行: Step代表一个自定义的工作单元,它是Job的主要构件块:每一个Step由三部分组成:ItemReader.ItemProcessor.ItemWriter:这三个部分将执行在每一条被处理的记录上,ItemReader读取每一条记录,然后传递给ItemProcessor处理,最后交给ItemWriter做持久化:It