PHP缓存技术:memcache函数详解之二_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > PHP缓存技术:memcache函数详解之二

PHP缓存技术:memcache函数详解之二

 2012/2/14 10:21:56  kennyluo  程序员俱乐部  我要评论(0)
  • 摘要:memcache::debugboolmemcache_debug(bool$on_off)说明:控制调试功能,前提是php在编译的时候使用了-enable-debug选项,否则这个函数不会有作用。参数:$on_off:true表示开启调试,false表示关闭调试返回值:如果php在编译的时候使用了-enable-debug选项,返回true,否则返回falseMemcache::decrement用法intMemcache::decrement(string$key[,int$value]
  • 标签:详解 PHP 函数 技术 缓存

memcache::debug

bool?memcache_debug?( bool?$on_off?)

?

说明:

控制调试功能,前提是php在编译的时候使用了-enable-debug选项,否则这个函数不会有作用。

?

参数:

$on_off:true表示开启调试,false表示关闭调试

?

返回值:

如果php在编译的时候使用了-enable-debug选项,返回true,否则返回false

?

?

Memcache::decrement用法

int?Memcache::decrement?( string?$key?[, int?$value?] )

?

说明:

Memcache::decremen方法的作用是对保存的某个key中的值进行减法操作,用法跟Memcache::increment类似。

你也可以用memcache_decrement()函数。

?

参数:

Key:想要减少的键的名字

Value:想要减少的值。

?

返回值:

如果成功,返回被减少后的值,如果失败返回false。

?

例子

<?php

$memcache = new Memcache;

$memcache->connect('localhost', 11211);

$memcache->set('test_item', 8);

$memcache->increment('test_item', 4);

echo $memcache->decrement('test_item', 7);

// 显示 5

?>

这个例子连Memcache::increment函数都一块演示了。

?

Memcache::delete用法

bool?Memcache::delete?( string?$key?[, int?$timeout?] )

?

说明:

删除一个key值,如果参数$timeout被设置,那么存储的值会在设置的秒数以后过期,你也可以用函数memcache_delete()

?

返回值:

如果成功则返回 TRUE,失败则返回 FALSE。

?

例子:

<?php

/*?面向过程?API?*/
$memcache_obj?=?memcache_connect('memcache_host',?11211);

/*?在10秒以后,缓存的值会被服务器删除?*/
memcache_delete($memcache_obj,?'key_to_delete',?10);

/*?面向对象?API?*/
$memcache_obj?=?new?Memcache;
$memcache_obj->connect('memcache_host',?11211);

$memcache_obj->delete('key_to_delete',?10);

?>

?

?

Memcache::flush

bool?Memcache::flush?( void )

?

说明:

清除所有缓存的数据。Memcache::flush实际上没有释放资源,它仅仅将所有的缓存标记为过期,这样可以使新的缓存来覆盖被占的内存空间。一样的函数是memcache_flush()

?

返回值:

如果成功则返回 TRUE,失败则返回 FALSE。

?

例子:

<?php

/*?面向过程?API?*/
$memcache_obj?=?memcache_connect('memcache_host',?11211);

memcache_flush($memcache_obj);

/*?面向对象?API?*/

$memcache_obj?=?new?Memcache;
$memcache_obj->connect('memcache_host',?11211);

$memcache_obj->flush();

?>

?

?

Memcache::get

string?Memcache::get?( string?$key?[, int?&$flags?] )

array?Memcache::get?( array?$keys?[, array?&$flags?] )

?

说明:

方法的作用是获取一个key值,key值可以是一个数组,结果会包含键值对。

?

参数:

$key是键值或者一个键的数组值。

$flags如果这个参数存在,那么$flags跟写入这个参数的值相关,这些$flags 类似于Memcache::set()函数里的$flags。

?

返回值:

如果成功,则返回key对应的值,如果失败则返回false.

?

例子:

<?php

/*?面向过程?API?*/
$memcache_obj?=?memcache_connect('memcache_host',?11211);
$var?=?memcache_get($memcache_obj,?'some_key');

/*?面向对象?API?*/
$memcache_obj?=?new?Memcache;
$memcache_obj->connect('memcache_host',?11211);
$var?=?$memcache_obj->get('some_key');

/*?
你可以使用数组键作为参数,如果值没有在服务器中找到,那么结果数组不会包含该键
*/

/*?面向过程?API?*/
$memcache_obj?=?memcache_connect('memcache_host',?11211);
$var?=?memcache_get($memcache_obj,?Array('some_key',?'another_key'));

/*?面向对象?API?*/
$memcache_obj?=?new?Memcache;
$memcache_obj->connect('memcache_host',?11211);
$var?=?$memcache_obj->get(Array('some_key',?'second_key'));

?>

?

Memcache::getExtendedStats

array?Memcache::getExtendedStats?([ string?$type?[, int?$slabid?[, int?$limit?]]] )

?

说明:

获取进程池中所有进程的运行系统统计。相同函数是memcache_get_extended_stats()

?

参数:

$type表示要求返回的类型:reset, malloc, maps, cachedump, slabs, items, sizes;

$slabid第一个参数设置为"cachedump"时使用的。

$limit第一个参数设置为"cachedump"时使用的。

?

返回值:

如果成功,返回统计信息,失败会返回false

?

例子:

<?php
????$memcache_obj?=?new?Memcache;
????$memcache_obj->addServer('memcache_host',?11211);
????$memcache_obj->addServer('failed_host',?11211);
????
????$stats?=?$memcache_obj->getExtendedStats();

?? //slabs机制分配管理内存的情况

$statsslab = $memcache_obj->getExtendedStats(slabs);
????
?>

?

?

Memcache::getServerStatus

int?Memcache::getServerStatus?( string?$host?[, int?$port?] )

?

说明:

获取运行服务器的参数。返回一个服务器在线或者离线的状态。相同的函数是memcache_get_server_status()

?

参数:

$host:正在收听的连接的主机

$port正在收听的连接的主机的端口,默认是11211

?

返回值:

成功返回服务器状态,服务器没有启动会返回0,其他数字的时候表示服务器是启动状态的。

?

例子:

<?php

/*?面向对象?API?*/
$memcache?=?new?Memcache;
$memcache->addServer('memcache_host',?11211);
echo?$memcache->getServerStatus('memcache_host',?11211);

/*?面向过程?API?*/
$memcache?=?memcache_connect('memcache_host',?11211);
echo?memcache_get_server_status($memcache,?'memcache_host',?11211);

?>

?

?

Memcache::getStats

array?Memcache::getStats?([ string?$type?[, int?$slabid?[, int?$limit?]]] )

?

说明:

返回服务器的一些运行统计信息。相同的函数是memcache_get_stats()

?

参数:

$type表示要求返回的类型:reset, malloc, maps, cachedump, slabs, items, sizes;

$slabid第一个参数设置为"cachedump"时使用的。

$limit第一个参数设置为"cachedump"时使用的。

?

返回值:

成功返回服务器的统计信息数组,失败返回false。

发表评论
用户名: 匿名