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

简介:

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。





本文转自 fenghao.cn 51CTO博客,原文链接:http://blog.51cto.com/linuxguest/424172,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
7天前
|
存储 缓存 数据库
缓存技术有哪些应用场景呢
【10月更文挑战第19天】缓存技术有哪些应用场景呢
|
7天前
|
存储 缓存 运维
缓存技术有哪些优缺点呢
【10月更文挑战第19天】缓存技术有哪些优缺点呢
|
2月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
1月前
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
30 1
|
2月前
|
存储 缓存 NoSQL
解决Redis缓存击穿问题的技术方法
解决Redis缓存击穿问题的技术方法
61 2
|
2月前
|
存储 缓存 Java
在Spring Boot中使用缓存的技术解析
通过利用Spring Boot中的缓存支持,开发者可以轻松地实现高效和可扩展的缓存策略,进而提升应用的性能和用户体验。Spring Boot的声明式缓存抽象和对多种缓存技术的支持,使得集成和使用缓存变得前所未有的简单。无论是在开发新应用还是优化现有应用,合理地使用缓存都是提高性能的有效手段。
31 1
|
2月前
|
缓存 程序员 PHP
为什么说 Swoole 是 PHP 程序员技术水平的分水岭?
【9月更文挑战第8天】Swoole 被视为 PHP 程序员技术水平的分水岭,因为它要求程序员深入理解底层原理(如网络编程、异步和并发模型),具备性能优化能力(如高效服务器开发、数据库连接池管理),拥有架构设计能力(如微服务架构、项目复杂度管理),并具备持续学习和自我提升意识。熟练掌握 Swoole 的程序员在技术能力和综合素质方面更具优势。
|
2月前
|
缓存 NoSQL PHP
使用PHP-redis实现键空间通知监听key失效事件的技术与代码示例
通过上述方法,你可以有效地在PHP中使用Redis来监听键空间通知,特别是针对键失效事件。这可以帮助你更好地管理缓存策略,及时响应键的变化。
90 3
|
28天前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
41 0