memcached 的安装方法详见我博客的另一个页面:http://www.cnblogs.com/chrdai/p/6656443.html

用法:

一、memcache 连接命令:

1、memcache :: addServer($host , $port , $weight=0);  // 向服务器池中增加一个服务器

2、memcache :: connect($host , $port , $timeout);// 打开一个memcached服务端连接,$timeout为连接持续(超时)时间,一般不要做更改

<?php
/**
* ***** memcache 打开一个memcached服务端链接
*/
$mem = new memcache();
$mem->connect('127.0.0.1',11211);
echo $mem->getversion(); // 1.4.4-14-g9c660c0

3、memcache :: pconnect($host , $port , $timeout);    //打开一个到服务器的持久化连接,$timeout为连接持续(超时)时间,一般不要做更改

<?php
/**
* ***** memcache 打开一个到服务器的持久链接
*/
$mem = new memcache();
$mem->pconnect('127.0.0.1',11211);
echo $mem -> getversion(); // 1.4.4-14-g9c660c0

4、memcache :: close();  // 这个函数不会关闭持久化连接, 持久化连接仅仅会在web服务器关机/重启时关闭

<?php
/**
* ***** memcache 关闭memcached服务端链接
*/
$mem = new memcache();
$mem->connect('127.0.0.1',11211);
$mem->close();

二、memcache 存储命令:

1、memcache :: set($key , $value , $expiration);   // 添加一个值,如果已经存在,则覆写, $expiration 为存储时间,默认为 0

<?php
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
$mem -> set('string','a simple string', false,3600); // 为什么添加 false,请查看我博客另一个页面 http://www.cnblogs.com/chrdai/p/6774856.html

2、memcache :: add($key , $value , $expiration);  // 添加一个值,如果已经存在,则返回false

<?php
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
if( $mem->add("mystr","this is a memcache test!",false,3600))
{
echo '原始数据缓存成功!';
}
else {
echo '数据已存在:'.$mem->get("mystr");
}

3、memcache :: replace($key , $value , $expiration);  // 对一个已有的key进行覆写操作

<?php
/**
* ***** memcache存储操作
*/
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
$mem -> replace('string','replace this string', false,3600);

4、memcache :: append($key , $value );  // 向已存在元素后追加数据

<?php
/**
* ***** memcache存储命令
*/
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
$mem -> set('foo','abc',false,3600);
$mem -> append('foo','def');
echo $mem -> get('foo'); // abcdef

5、memcache :: prepend($key , $value );  // 向已存在元素前面追加数据

<?php
/**
* ***** memcache存储命令
*/
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
$mem -> set('foo','abc',false,3600);
$mem -> prepend('foo','def',false,3600);
echo $mem -> get('foo'); // defabc

三、memcache 查找命令:

1、memcache :: get($key , [ $cache_cb , $cas_token] );  // 获取某个元素

参数:

key          // 要检索的元素的key。

cache_cb      // 通读缓存回掉函数或NULL.

cas_token     // 检索的元素的CAS标记值。

<?php
/**
* ***** memcache查找命令
*/
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
$mem -> set('foo','abc',false,3600);
echo $mem -> get('foo'); // abc

四、memcache 删除命令:

1、memcache::delete ($key );  // 删除某个元素

<?php
/**
* ***** memcache删除命令
*/
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
$mem -> set('foo','abc',false,3600);
$mem -> delete('foo');
echo $mem -> get('foo'); // 没有这个值了

2、memcache::flush();  // 使所有已经存在的元素失效。方法Memcache::flush() 并不会真正的释放任何资源,而是仅仅标记所有元素都失效了,因此已经被使用的内存会被新的元素复写

<?php
/**
* ***** memcache 删除memcache中所有的元素
*/
$mem = new memcache();
$mem->pconnect('127.0.0.1',11211);
$mem -> set('foo','string',false,3600);
$mem -> flush();
echo $mem -> get('foo'); // 什么也没有了

五、memcache 自增减命令:

memcache::increment($key , [$value=1]);  // 将$key 自增 $value ,$value默认为1

<?php
/**
* ***** memcache 自增减命令
*/
$mem = new memcache();
$mem->pconnect('127.0.0.1',11211);
$mem -> set('counter',2,false,3600);
$mem -> increment('counter',5);
echo $mem -> get('counter'); //

memcache::decrement($key , [$value=1]);  // 将$key 自减 $value ,$value默认为1

<?php
/**
* ***** memcache 自增减命令
*/
$mem = new memcache();
$mem->pconnect('127.0.0.1',11211);
$mem -> set('counter',10,false,3600);
$mem -> decrement('counter',5);
echo $mem -> get('counter'); //

、memcache 查看服务器信息命令:

memcache::getVersion();  // 查看当前版本

<?php
/**
* ***** memcache查看当前版本命令
*/
$mem = new memcache();
$mem->addServer('127.0.0.1',11211);
echo $mem->getVersion(); //1.4.4-14-g9c660c0

2memcache::getServerStatus($host , [$port]);  //  获取服务器的在线/离线状态,$port默认为11211

<?php
/**
* ***** memcache 查看服务器是否在线命令
*/
$mem = new memcache();
$mem->pconnect('127.0.0.1',11211);
var_dump($mem -> getServerStatus('127.0.0.1', 11211)); //

memcache::getStats();  //  获取服务器统计信息

<?php
/**
* ***** memcache 查看服务器统计信息命令
*/
$mem = new memcache();
$mem->pconnect('127.0.0.1',11211);
var_dump($mem -> getStats());
/*
array (size=35)
'pid' => string '10972' (length=5)
'uptime' => string '3054797089' (length=10)
'time' => string '252939981' (length=9)
'version' => string '1.4.4-14-g9c660c0' (length=17)
'pointer_size' => string '64' (length=2)
'curr_connections' => string '12' (length=2)
'total_connections' => string '35' (length=2)
'connection_structures' => string '14' (length=2)
'cmd_get' => string '173' (length=3)
'cmd_set' => string '183' (length=3)
'cmd_flush' => string '2' (length=1)
'get_hits' => string '121' (length=3)
'get_misses' => string '52' (length=2)
'delete_misses' => string '0' (length=1)
'delete_hits' => string '9' (length=1)
'incr_misses' => string '4' (length=1)
'incr_hits' => string '14' (length=2)
'decr_misses' => string '0' (length=1)
'decr_hits' => string '8' (length=1)
'cas_misses' => string '1' (length=1)
'cas_hits' => string '1' (length=1)
'cas_badval' => string '0' (length=1)
'auth_cmds' => string '0' (length=1)
'auth_errors' => string '0' (length=1)
'bytes_read' => string '9204' (length=4)
'bytes_written' => string '14008' (length=5)
'limit_maxbytes' => string '67108864' (length=8)
'accepting_conns' => string '1' (length=1)
'listen_disabled_num' => string '0' (length=1)
'threads' => string '4' (length=1)
'conn_yields' => string '0' (length=1)
'bytes' => string '270' (length=3)
'curr_items' => string '3' (length=1)
'total_items' => string '154' (length=3)
'evictions' => string '0' (length=1)
*/

4memcache::getExtendedStats();  //  获取缓存服务器池中所有服务器统计信息

<?php
/**
* ***** memcache 获取缓存服务器池中所有服务器统计信息命令
*/
$mem = new memcache();
$mem->pconnect('127.0.0.1',11211);
var_dump($mem -> getExtendedstats());
/*
array (size=1)
'127.0.0.1:11211' =>
array (size=35)
'pid' => string '10972' (length=5)
'uptime' => string '3054797301' (length=10)
'time' => string '252940193' (length=9)
'version' => string '1.4.4-14-g9c660c0' (length=17)
'pointer_size' => string '64' (length=2)
'curr_connections' => string '12' (length=2)
'total_connections' => string '35' (length=2)
'connection_structures' => string '14' (length=2)
'cmd_get' => string '173' (length=3)
'cmd_set' => string '183' (length=3)
'cmd_flush' => string '2' (length=1)
'get_hits' => string '121' (length=3)
'get_misses' => string '52' (length=2)
'delete_misses' => string '0' (length=1)
'delete_hits' => string '9' (length=1)
'incr_misses' => string '4' (length=1)
'incr_hits' => string '14' (length=2)
'decr_misses' => string '0' (length=1)
'decr_hits' => string '8' (length=1)
'cas_misses' => string '1' (length=1)
'cas_hits' => string '1' (length=1)
'cas_badval' => string '0' (length=1)
'auth_cmds' => string '0' (length=1)
'auth_errors' => string '0' (length=1)
'bytes_read' => string '9211' (length=4)
'bytes_written' => string '14758' (length=5)
'limit_maxbytes' => string '67108864' (length=8)
'accepting_conns' => string '1' (length=1)
'listen_disabled_num' => string '0' (length=1)
'threads' => string '4' (length=1)
'conn_yields' => string '0' (length=1)
'bytes' => string '270' (length=3)
'curr_items' => string '3' (length=1)
'total_items' => string '154' (length=3)
'evictions' => string '0' (length=1)
*/

memcache 在php中的用法的更多相关文章

  1. 使用Memcache在PHP中调试方法的介绍及应用

    使用Memcache在PHP中调试方法的介绍及应用 如果我们在网络开发中,特别是大访问量的web项目开发中,为了提高响应速度,减少数据查询运算,那么我们都会选用memcahce.首先我们必须要安装,接 ...

  2. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  3. ORACLE 中ROWNUM用法总结(转)

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...

  4. AngularJS select中ngOptions用法详解

    AngularJS select中ngOptions用法详解   一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...

  5. c#初学-多线程中lock用法的经典实例

    本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义     lock 关键字可以用来确保代码块完成运行,而不会被 ...

  6. .NET3.5中JSON用法以及封装JsonUtils工具类

    .NET3.5中JSON用法以及封装JsonUtils工具类  我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ...

  7. ORACLE 中ROWNUM用法总结!

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...

  8. Android开发中Bundle用法包裹数据(转)

    Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...

  9. 转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在 ...

随机推荐

  1. Redis消息通知(任务队列和发布订阅模式)

    Redis学习笔记(十)消息通知(任务队列和发布订阅模式) 1. 任务队列 1.1 任务队列的特点 任务队列:顾名思义,就是“传递消息的队列”.与任务队列进行交互的实体有两类,一类是生产者(produ ...

  2. PYTHON-函数的定义与调用,返回值,和参数-练习

    # day10函数的定义调用和参数作业# 1.写函数,用户传入修改的文件名.与要修改的内容,执行函数,完成批量修改操作# def modify_file(filename,old,new):# imp ...

  3. js闭包实例汇总

    本文是通过实例来帮助大家深刻理解js闭包,是篇非常不错的文章,这里推荐给大家,有需要的小伙伴可以参考下 Js闭包 闭包前要了解的知识 1. 函数作用域 (1).Js语言特殊之处在于函数内部可以直接读取 ...

  4. cf1108e 线段树区间更新+扫描线

    /* 有点像扫描线 思路:从左到右枚举每个点,枚举到点i时,把所有以i为起点的区间的影响删去 再加上以i-1为结尾的区间的影响 */ #include<bits/stdc++.h> usi ...

  5. python接口自动化测试十九:函数

    # 函数 a = [1, 3, 6, 4, 85, 32, 46]print(sum(a)) # sum,求和函数 def add(): a = 1, b = 2, return a + bprint ...

  6. MySQL重复数据处理

    最近工作很忙,很久没写博客,嘻嘻!今天写一遍关于MySQL重复数据处理的博客!前不久有个开发问我,能不能把重复的数据去除,留下唯一的数据.然后我问他为什么有这么重复的数据呢,他说写了程序去爬数据,爬到 ...

  7. python 全栈开发,Day134(爬虫系列之第1章-requests模块)

    一.爬虫系列之第1章-requests模块 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的 ...

  8. python 全栈开发,Day33(tcp协议和udp协议,互联网协议与osi模型,socket概念,套接字(socket)初使用)

    先来回顾一下昨天的内容 网络编程开发架构 B/S C/S架构网卡 mac地址网段 ip地址 : 表示了一台电脑在网络中的位置 子网掩码 : ip和子网掩码按位与得到网段 网关ip : 内置在路由器中的 ...

  9. 【C++ Primer 第13章】5. 动态内存管理类

    StrVec类的设计 [题目描述]:我们将实现标准库vector类的一个简化版本,我们所做的一个简化是不使用模板,我们类只用于string,因此,它被命名为StrVec. #include<io ...

  10. P1463 [SDOI2005]反素数ant

    题意: 题解: 思维难度不高,考虑到n较大,而反质数个数较少 所以只要算出每个反质数即可 考虑如何计算,可以发现,我们只需枚举计算出约数有x个的最小数,再做一下判断即可 另外约数的个数=(a1+1)( ...