PHP获取Memcached的cas_token

memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。

memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。

memcached的API使用三十二比特的循环冗余校验(CRC-32)计算键值后,将数据分散在不同的机器上。当表格满了以后,接下来新增的数据会以LRU机制替换掉。由于memcached通常只是当作缓存系统使用,所以使用memcached的应用程序在写回较慢的系统时(像是后端的数据库)需要额外的代码更新memcached内的数据。

PHP获取Memcached的cas_token,php官方提供的方法代码

$ips = $m->get('ip_block', null, $cas);

按照php官方文档提供的代码来获取cas_token,结果$cas始终是null,查了好久,原来php5和php7中获取cas_token的方式是不同的

php5的方法

$ips = $m->get('ip_block', null, $cas);
var_dump($cas);

php7的方法

$_val = $m->get('ip_block', null, Memcached::GET_EXTENDED);
var_dump($_val['cas']);

做个判断

$cas = null;
if (defined(Memcached::GET_EXTENDED)){
$_val = $m->get('ip_block', null, Memcached::GET_EXTENDED);
$cas = $_val['cas'];
} else {
$ips = $m->get('ip_block', null, $cas);
}
var_dump($cas);
赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » PHP获取Memcached的cas_token

登录

找回密码

注册