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

一、Unbutu系统下安装PHP中的MemCache应用程序扩展接口

sudo apt-get update
sudo apt-get install php5-memcache

重启Nginx和php5-fpm

/etc/init.d/nginx restart
/etc/init.d/php5-fpm restart

二、MemCache面向对象的常用接口



三、接口应用

1、连接和关闭memcached服务器

<?php
//实例化Memcache类对象
$memcache = new Memcache;
//通过$memcache中connect()方法连接到指定地址指定端口的memcached服务器
$result = $memcache -> connect('127.0.0.1','11211');
if($result)
{
echo "success";
} else {
echo "fail";
}
//关闭对象(对常连接不起作用)
$memcache->close();

2、向memcached服务器中添加、重置、获取和删除数据

<?php
//实例化Memcache类对象
$memcache = new Memcache;
//连接到本机的memcached服务器
$conn = $memcache -> connect('127.0.0.1','11211'); //向本机的memcached服务器中添加一组数据
$is_add1 = $memcache -> add('name','ziqing');
//向本机的memcached服务器中添加一组数据,数组或对象将会被序列化
$is_add2 = $memcache -> add('lnmp',array('linux','nginx','mysql','php'));
//指定的key已经存在,则添加将会失败
$is_add3 = $memcache -> add('lnmp','lamp'); //返回缓存的指定的变量内容
$result1 = $memcache -> get('name');
var_dump($result1);
$result2 = $memcache -> get('lnmp');
var_dump($result2); //设置一个指定key的缓存变量内容,如果key不存在则新添加,如果存在则将其修改
$is_set1 = $memcache -> set('age',23);
$is_set2 = $memcache -> set('name','song'); //使用replace()替换一个指定已存在key的缓存变量内容,是set()方法的别名
$is_replace = $memcache -> replace('name','songziqing'); //立即删除name项
$memcache -> delete('name'); $memcache->close();

3、添加分布式使用的多个memcached服务器,以及获取服务器的状态信息

这块内容稍后补上,因为需要配置多台memcached服务器进行实验,比较麻烦,可能要用到虚拟机,进行环境克隆。

MemCached总结三:PHP的memcached管理接口的更多相关文章

  1. Memcached源码分析之内存管理

    先再说明一下,我本次分析的memcached版本是1.4.20,有些旧的版本关于内存管理的机制和数据结构与1.4.20有一定的差异(本文中会提到). 一)模型分析在开始解剖memcached关于内存管 ...

  2. 安装memcached和elasticsearch服务并systemctl管理

    [root@izbp18dv3a3metugyd02qxz bin]# rpm -qa | grep memcache [root@izbp18dv3a3metugyd02qxz bin]# yum ...

  3. Memcached学习(三)

    通过Java客户端实现与Memcached的交互,Java客户端的实现了使用了开源的Memcached-Java-Client,开源地址在GitHub上. 如下是通过该开源库实现的Memcached交 ...

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

    在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相 ...

  5. memcached学习(5). memcached的应用和兼容程序

    mixi在提供服务的初期阶段就使用了memcached. 随着网站访问量的急剧增加,单纯为数据库添加slave已无法满足需要,因此引入了memcached. 此外,我们也从增加可扩展性的方面进行了验证 ...

  6. memcached学习(4). memcached的分布式算法

    memcached的分布式 正如第1次中介绍的那样, memcached虽然称为"分布式"缓存服务器,但服务器端并没有"分布式"功能. 服务器端仅包括 第2次. ...

  7. memcached学习(3)memcached的删除机制和发展方向

    memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提. 本次介绍memcached的数据删除机制,以及memcached的最新发展方向--二进制协议(Bi ...

  8. Spring IOC三种注入方式(接口注入、setter注入、构造器注入)(摘抄)

    IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转, Spring 框架的核心基于控制反转原理. 什么是控制反转?控制反转是一种将组件依赖关系的创建和管理置于程序外部的技 ...

  9. DI容器Ninject在管理接口和实现、基类和派生类并实现依赖注入方面的实例

    当一个类依赖于另一个具体类的时候,这样很容易形成两者间的"强耦合"关系.我们通常根据具体类抽象出一个接口,然后让类来依赖这个接口,这样就形成了"松耦合"关系,有 ...

  10. 微服务-Springboot+Redis缓存管理接口代码实现

    废话少说,上代码,结合代码讲解: 一.创建maven工程:导入依赖: <packaging>war</packaging><!--修改jdk的版本--><pr ...

随机推荐

  1. PAT_A1111#Online Map

    Source: PAT A1111 Online Map (30 分) Description: Input our current position and a destination, an on ...

  2. PAT_A1078#Hashing

    Source: PAT A1078 Hashing (25 分) Description: The task of this problem is simple: insert a sequence ...

  3. 一张图搞懂javascript原型链

    js高级里面原型链对于新手来说并不友好,总的来说就是 任何函数都有自己的原型对象(prototype),任何实例对象都__proto__指向构造函数的原型 先来个最简单的原型三角关系 var fn = ...

  4. Linux C(day01)

    Linux是一个和Windows类似的操作系统 通常通过终端软件使用Linux操作系统 终端软件里只能使用键盘不能使用鼠标 可以在终端软件里输入各种命令控制计算机 完成各种任务 clear命令可以清除 ...

  5. 1、springboot+mybatis+zookeeper+dubbox+maven+pagehelper

    一.创建普通的maven的web项目 2.配置KD42WF_Part1下的pom.xml <?xml version="1.0" encoding="UTF-8&q ...

  6. QT创建快捷方式

    1.当我第一次安装完QT后发现它并没有在桌面上给我创建快捷方式,使用起来很难受啊,于是寻找办法,终于找到一个懒办法: 首先进入到上图的BIN目录下找到qtcreator文件,双击运行,然后系统就会在左 ...

  7. springMVC知识点复习

    @ResponseBody和@RequestBody的使用 <html> <script type="text/javascript" src="rel ...

  8. Spring Boot-properties使用(二)

    自定义属性 @value注入 在application.properties新增配置 student.name=小明student.age=12student.info=${student.name} ...

  9. 洛谷 P3183 BZOJ 4562 [HAOI2016]食物链

    题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数.物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3.... ...

  10. mybatis mapper xml文件配置resultmap时,id行和result行有什么区别?

    mybatis mapper xml文件配置resultmap时,id行和result行有什么区别? <resultMap id = "CashInvoiceMap" typ ...