Rumah  >  Artikel  >  pembangunan bahagian belakang  >  use memcached and php-memcache(d)

use memcached and php-memcache(d)

WBOY
WBOYasal
2016-06-23 14:31:45959semak imbas

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);	}}

?
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:在PHP中操作ExcelArtikel seterusnya:CentOS+Nginx+PHP+Mysql(3)(转)