for memcached 1.2 to 1.3, protocol changed for delete(). for memcached 1.4, the wrong format will cause fatal error:
failed with: client_error bad command line format.
so php pecl-memcache will get failed with the new version.
for php pecl-memcached, because it’s using libmemcache, so no this issue.
We write a function to choose which memcache extension we will use in our code:
$mem_flag = 0;$mem_conn = null;function mcached_conn(){ global $config, $mem_flag, $mem_conn; if($mem_flag != 1) { if ($config['mcache']['version']==0){ $mem_conn = memcache_pconnect($config['mcache']['host'], 11211); } else { $mem_conn = new Memcached(); $mem_conn->addServer($config['mcache']['host'], 11211); } $mem_flag = 1; } return $mem_conn;}function memcache_version_set($memcache_obj, $key,$value,$flag,$ttl){ global $config; if ($config['mcache']['version']==0){ return memcache_set($memcache_obj, $key,$value,$flag,$ttl); } else { return $memcache_obj->set($key,$value,$ttl); }} function memcache_version_get($memcache_obj, $key){ global $config; if ($config['mcache']['version']==0){ return memcache_get($memcache_obj, $key); } else { return $memcache_obj->get($key); }}function memcache_version_del($memcache_obj, $key){ global $config; if ($config['mcache']['version']==0){ return memcache_delete($memcache_obj, $key); } else { return $memcache_obj->delete($key); }}
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号