memcache 在php中的用法
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
2、memcache::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)
*/
4、memcache::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中的用法的更多相关文章
- 使用Memcache在PHP中调试方法的介绍及应用
使用Memcache在PHP中调试方法的介绍及应用 如果我们在网络开发中,特别是大访问量的web项目开发中,为了提高响应速度,减少数据查询运算,那么我们都会选用memcahce.首先我们必须要安装,接 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- ORACLE 中ROWNUM用法总结(转)
ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...
- AngularJS select中ngOptions用法详解
AngularJS select中ngOptions用法详解 一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...
- c#初学-多线程中lock用法的经典实例
本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被 ...
- .NET3.5中JSON用法以及封装JsonUtils工具类
.NET3.5中JSON用法以及封装JsonUtils工具类 我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ...
- ORACLE 中ROWNUM用法总结!
ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...
- Android开发中Bundle用法包裹数据(转)
Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...
- 转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在 ...
随机推荐
- notepad++64位添加plugin manager
- 64位的notepad++,下载下来似乎没有plugin manager,如果真没有可以下载plugin manager. - plugin manager的下载地址:https://github ...
- Python select IO多路复用
一.select介绍 Python的select()函数是底层操作系统实现的直接接口.它监视套接字,打开文件和管道(任何带有返回有效文件描述符的fileno()方法),直到它们变得可读或可写,或者发生 ...
- zabbix系列(六)zabbix添加对ubuntu系统的监控
在ubuntu os上安装agent,使用如下命令: wget http://mirrors.aliyun.com/zabbix/zabbix/3.0/ubuntu/pool/main/z/zabbi ...
- 通达OA批量处理没有结束但前台显示已经结束的流程
问题描述: 通达OA系统出现大量流程没有结束,系统显示结束的问题 通过查询操作系统日志,数据库日志,包括程序日志没有发现异常,通过观察发现大量的流程结束时间都是在2016-02-16 17:32:XX ...
- 解执行maven项目出现 SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. error
最近再弄maven项目,运行起来没有问题,但是Console控制台会报错,比如说如下的问题异常提示: 由此我们可以看出,报出错误的地方主要是slf4j的jar包,而故障码中“Failed to loa ...
- Myeclipse10.7安装git插件并将Java项目上传到码云(github)
注:本文来源:外匹夫的<Myeclipse10.7安装git插件并将Java项目上传到码云(github)> 一.先说说安装egit插件的步骤(安装egit不成功的原因主要是下载的egit ...
- hdu1506单调栈的宽度
很好的题目,单调栈上的宽度如何求 题解:https://blog.csdn.net/baidu_35643793/article/details/64440095 单调队列和单调栈都是去除没有用的数据 ...
- python接口自动化测试八:更新Cookies、session保持会话
s = requests.session() # 此方法只适用于网站是cookies这种,网站是token的没用 # 这样做的好处就是可以保存cookies并保持会话,不用每次都去获取.传参 Toke ...
- 《剑指offer》-找到字符串中第一个只出现一个的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- 里氏代换原则(Liskov Substitution Principle,LSP)
第一种定义: 如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换为o2,程序P的行为没有发生变化,那么类型S是类型T的子类型. 第二种定义: 所有引 ...