PHP的memcached管理接口

在Web系统中应用MemCache缓存技术,必须使用客户端API(PHP)进行访问,这样才能将用户请求的动态数据,缓存到memcached服务器中,来减少对数据库的访问压力。PHP中提供了用于内存缓存的过程式程序面向对象两种方便的应用接口。

1、  安装memcached扩展方式请自行百度

2、  面向对象接口的应用

(1)、连接和关闭memcached服务器

  1. <?php
  2. //实例化Memcachele类的对象
  3. $mem =newMemcache;
  4. //通过 $mem中的connect()方法连接到指定位置的指定端口
  5. $mem -> connect("127.0.0.1",11211);
  6. //关闭对象(对常连接不起作用)
  7. $mem -> close();
  8. ?>

(2)、连接memcached服务器以后,就可以添加一个要缓存的数据(add),或设置一个指定key的缓存变量内容(set),以及可以替换一个指定已存在      key的缓存变量(replace)。可以通过MemCache类对象中的add()、set()、replace()三个函数来完成,格式如下:

  1. boolMemcache::add (string $key , mixed $var [,int $flag [,int $expire ]]) //添加一个要缓存的数据
  2. boolMemcache::set(string $key , mixed $var [,int $flag [,int $expire ]]) //设置一个指定key的缓存变量内容
  3. boolMemcache::replace (string $key , mixed $var [,int $flag [,int $expire ]]) //替换一个指定已存在key的缓存变量内容

这三个方法的语法格式相同,都需要4个参数:

第一个参数$key:必选项,用于设置缓存数据的键,其长度不能超过250个字符;

第二个参数$var:必选项,用于设置缓存的值,整形将直接存储,其他类型将被序列化存储,其最大值为1M;

第三个参数$flag:可选项,即是否使用zlib压缩,当使用MEMCACHE_COMPRESSED时,数据很小时不会采用zlib压缩,只有数据到达一定大小才对数据进行zlib压缩;

第四个参数$expire:当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)。

  1. <?php
  2. //实例化Memcachele类的对象
  3. $mem =newMemcache;
  4. //通过 $mem中的connect()方法连接到指定位置的指定端口
  5. $mem -> connect("127.0.0.1",11211);
  6. //向本机服务器中添加一组数据
  7. $mem -> add("mystr","this is a memcache test",MEMCACHE_COMPRESSED,3600);
  8. //关闭对象(对常连接不起作用)
  9. $mem -> close();
  10. ?>

(3)、从memcached服务器中获取和删除数据

可以添加和修改缓存数据,当然也可以获取和删除memcached服务器中存在的缓存数据。格式如下所示:

  1. stringMemcache::get(string $key [,int&$flags ]) //获取一个key的变量缓存值
  2. array Memcache::get( array $keys [, array &$flags ]) //获取多个key的变量缓存多个值

该方法有两种:一种是通过第一个必选参数,并使用一个字符串的key,从memcached服务器中返回缓存的指定key的变量内容,如果获取失败或该变量的值不存在,则返回FALSE;另一种是在第一个必选参数中使用一个数组,在数组中使用多个key,就可以获得每个key对应的多个值。如果传入的key的数组中的key都不存在,则返回的结果是一个空数组,反之则返回key与缓存值相关联的关联数组,关联数组的下标为每个key名。

  1. <?php
  2. //实例化Memcachele类的对象
  3. $mem =newMemcache;
  4. //通过 $mem中的connect()方法连接到指定位置的指定端口
  5. $mem -> connect("127.0.0.1",11211);
  6. //向本机服务器中添加一组数据
  7. $mem -> add("mystr1","this is a memcache test",MEMCACHE_COMPRESSED,3600);
  8. $mem -> add("mystr2","hello world",MEMCACHE_COMPRESSED,3600);
  9. $var1 = $mem ->get(‘mystr1‘);
  10. var_dump($var1);
  11. $var2 = $mem ->get(array(‘mystr1‘,‘mystr2‘));
  12. var_dump($var2);
  13. //关闭对象(对常连接不起作用)
  14. $mem -> close();
  15. ?>

删除数据:

  1. boolMemcache::delete(string $key [,int $timeout =0])//通过key删除一个元素。 如果参数timeout指定,该元素会在timeout秒后失效。
  2. boolMemcache::flush (void)//立即使所有已经存在的元素失效。

来自为知笔记(Wiz)

时间: 2024-12-28 17:47:31

PHP的memcached管理接口的相关文章

MAC与PHY连接的管理接口MDIO

MII Management interface用于MAC层或其他控制芯片(不一定是MAC层芯片,可能是MCU,如高通芯片建构中,1个MAC芯片可以控制2个PHY芯片,然后MCU控制3个网卡(MAC+2PHY)芯片)控制.配置PHY层芯片. Through MII Management interface it is possible to control and configure multiple PHY devices, get status and error infomation, a

C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试

在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相关对象模型,基本上包括了常规的商品.商品分组.货架.库存.订单这些模型,还有商品分类,商品分类属性.商品分类SKU.快递邮寄模板.图片管理等功能.本文介绍的接口封装也就是基于这些内容进行的,并针对接口的实现进行测试和使用. 1.商品管理接口的定义 前面文章介绍了微信小店的对象模型,如下所示. 这个图形基本上覆

Spring事务管理接口PlatformTransactionManager的实现类DataSourceTransactionManager

package org.springframework.jdbc.datasource; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.springframework.beans.factory.InitializingBean; import org.springfra

第三方平台也能为未微信认证的订阅号调用自定义菜单接口和素材管理接口

3月20号已认证微信公众号可通过第三方平台管理微信公众平台素材,现在自定义菜单接口和素材管理接口向第三方平台旗下未认证订阅号开放,未认证订阅号也可以授权给第三方平台,让第三方平台开发者帮助实现自定义菜单和素材管理业务.但请注意,为了避免接口安全风险,公众号自身仍旧没有上述接口权限,无法调用这些接口. 未认证订阅号的自定义菜单接口能力,与公众平台官网内能力是相同的,具体如下: 1. 点击菜单后,公众号回复一条消息,支持图文消息.图片.语音.视频类型,不支持文本消息: 2. 点击菜单后,跳转到公众号

接口 ThreadMXBean 一个很好用的线程管理接口类 可以参考 jdk 帮助文档

概述  软件包   类  使用  树  已过时  索引  帮助  JavaTM Platform Standard Ed. 6  上一个类   下一个类 框架    无框架    所有类 摘要: 嵌套 | 字段 | 构造方法 | 方法 详细信息: 字段 | 构造方法 | 方法 java.lang.management  接口 ThreadMXBean public interface ThreadMXBean Java 虚拟机线程系统的管理接口. Java 虚拟机具有此接口的实现类的单一实例.实

第三方平台可以通过微信公众平台素材管理接口实现同步了

平时运营微信公众平台时有没发现素材管理有点不太好操作,特别是素材一多,找个东西都翻半天.现在好了,微信宣布公众平台新增素材管理接口,对所有认证公众号开放,方便快捷,可以实现同步互通. 微信公众平台素材管理接口具体如下: 新增临时素材 公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件.多媒体消息的获取和调用等操作,是通过media_id来进行的.素材管理接口对所有认证的订阅号和服务号开放. 通过本接口,公众号可以新增临时素材(即上传临时多媒体文件).但

Memcached 管理与监控工具 MemAdmin

MemAdmin是一款可视化的Memcached管理与监控工具,基于 PHP5 & JQuery 开发,体积小,操作简单. 主要功能: 服务器参数监控:STATS.SETTINGS.ITEMS.SLABS.SIZES实时刷新 服务器性能监控:GET.DELETE.INCR.DECR.CAS等常用操作命中率实时监控 支持数据遍历,方便对存储内容进行监视 支持条件查询,筛选出满足条件的KEY或VALUE 数组.JSON等序列化字符反序列显示 兼容memcache协议的其他服务,如Tokyo Tyra

Debian8(amd64)安装部署memcached管理工具

目录 1.memadmin工具简介 2.nginx及php环境安装 3.memadmin工具部署 4.memadmin工具的简单运用 5.额外的配置优化 6.总结 1.memadmin工具简介 MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单. 主要功能: 服务器参数监控:STATS.SETTINGS.ITEMS.SLABS.SIZES实时刷新 服务器性能监控:GET.DELETE.INCR.DECR.CAS等常用操作命中率实时监控 支持数据遍历,

python--学校管理系统(在学校接口上,增加了老师的管理接口和学生的管理接口)

和上一篇随笔一样的要求,完善了一下老师接口和学生接口. 搞清楚了一件事情,就是import那么多文件,该怎么搞才比较方便. 1.先上文件目录 在lib中定义了各个类,一看名字就知道是啥类了哦 在interface中定义了接口程序,用户验证身份之后就调用相应的接口 在dumpfile中分了几个文件夹,是分别存放pickle的内容的 main就是主入口了 2.程序代码 main是程序入口,由用户输入选项,选择是学校管理员.老师.还是学生,对应调用interface包中的schoolcontrol.t