php的两个memcached扩展:memcache和memcached

时间:2021-02-24 08:05:04

现在在php中memcached用的很多,以前一直使用的是php的memcache扩展,最近开始改用了php的memcached扩展(注意这里memcache和memcached扩展的名字就相差了一个d)。或许在google或者百度搜索php的memcached扩展的时候,很多结果是memcache.dll或者memcache.so,很少的结果是memcached.so,windows下面甚至没有memcached.dll扩展。
memcache扩展的下载地址为:http://pecl.php.net/package/memcache
memcached扩展的下载地址为:http://pecl.php.net/package/memcached
以上两个都是源码包。
这两个扩展都是用c写的,具体的来看看memcache扩展和memcached扩展在使用上到底有哪些差别。

加载memcache扩展之后,可以在php中直接使用Memcache类,Memcache类有以下一些方法:

Memcache {
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )

bool addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )

bool close ( void )

bool connect ( string $host [, int $port [, int $timeout ]] )

int decrement ( string $key [, int $value = 1 ] )

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

bool flush ( void )

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

array getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

int getServerStatus ( string $host [, int $port = 11211 ] )

array getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

string getVersion ( void )

int increment ( string $key [, int $value = 1 ] )

bool pconnect ( string $host [, int $port [, int $timeout ]] )

bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )

bool set ( string $key , mixed $var [, int $flag [, int $expire ]] )

bool setCompressThreshold ( int $threshold [, float $min_savings ] )

bool setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback $failure_callback ]]]]] )
}

add — 增加一个条目到缓存服务器
addServer — 向连接池中添加一个memcache服务器
close — 关闭memcache连接
connect — 打开一个memcached服务端连接
decrement — 减小元素的值
delete — 从服务端删除一个元素
flush — 清洗(删除)已经存储的所有的元素
get — 从服务端检回一个元素
getExtendedStats — 缓存服务器池中所有服务器统计信息
getServerStatus — 用于获取一个服务器的在线/离线状态
getStats — 获取服务器统计信息
getVersion — 返回服务器版本信息
increment — 增加一个元素的值
pconnect — 打开一个到服务器的持久化连接
replace — 替换已经存在的元素的值
set — Store data at the server
setCompressThreshold — 开启大值自动压缩
setServerParams — 运行时修改服务器参数和状态

加载memcached扩展之后,可以在php中直接使用Memcached类,Memcached类有以下一些方法:

Memcached {
__construct ([ string $persistent_id ] )

public bool add ( string $key , mixed $value [, int $expiration ] )

public bool addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

public bool addServer ( string $host , int $port [, int $weight = 0 ] )

public bool addServers ( array $servers )

public bool append ( string $key , string $value )

public bool appendByKey ( string $server_key , string $key , string $value )

public bool cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )

public bool casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )

public int decrement ( string $key [, int $offset = 1 ] )

public bool delete ( string $key [, int $time = 0 ] )

public bool deleteByKey ( string $server_key , string $key [, int $time = 0 ] )

public array fetch ( void )

public array fetchAll ( void )

public bool flush ([ int $delay = 0 ] )

public mixed get ( string $key [, callback $cache_cb [, float &$cas_token ]] )

public mixed getByKey ( string $server_key , string $key [, callback $cache_cb [, float &$cas_token ]] )

public bool getDelayed ( array $keys [, bool $with_cas [, callback $value_cb ]] )

public bool getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callback $value_cb ]] )

public mixed getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )

public array getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )

public mixed getOption ( int $option )

public int getResultCode ( void )

public string getResultMessage ( void )

public array getServerByKey ( string $server_key )

public array getServerList ( void )

public array getStats ( void )

public array getVersion ( void )

public int increment ( string $key [, int $offset = 1 ] )

public bool prepend ( string $key , string $value )

public bool prependByKey ( string $server_key , string $key , string $value )

public bool replace ( string $key , mixed $value [, int $expiration ] )

public bool replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

public bool set ( string $key , mixed $value [, int $expiration ] )

public bool setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

public bool setMulti ( array $items [, int $expiration ] )

public bool setMultiByKey ( string $server_key , array $items [, int $expiration ] )

public bool setOption ( int $option , mixed $value )
}

add — 向一个新的key下面增加一个元素
addByKey — 在指定服务器上的一个新的key下增加一个元素
addServer — 向服务器池中增加一个服务器
addServers — 向服务器池中增加多台服务器
append — 向已存在元素后追加数据
appendByKey — 向指定服务器上已存在元素后追加数据
cas — 比较并交换值
casByKey — 在指定服务器上比较并交换值
__construct — 创建一个Memcached实例
decrement — 减小数值元素的值
delete — 删除一个元素
deleteByKey — 从指定的服务器删除一个元素
fetch — 抓取下一个结果
fetchAll — 抓取所有剩余的结果
flush — 作废缓存中的所有元素
get — 检索一个元素
getByKey — 从特定的服务器检索元素
getDelayed — 请求多个元素
getDelayedByKey — 从指定的服务器上请求多个元素
getMulti — 检索多个元素
getMultiByKey — 从特定服务器检索多个元素
getOption — 获取Memcached的选项值
getResultCode — 返回最后一次操作的结果代码
getResultMessage — 返回最后一次操作的结果描述消息
getServerByKey — 获取一个key所映射的服务器信息
getServerList — 获取服务器池中的服务器列表
getStats — 获取服务器池的统计信息
getVersion — 获取服务器池中所有服务器的版本信息
increment — 增加数值元素的值
prepend — 向一个已存在的元素前面追加数据
prependByKey — Prepend data to an existing item on a specific server
replace — 替换已存在key下的元素
replaceByKey — Replace the item under an existing key on a specific server
set — 存储一个元素
setByKey — Store an item on a specific server
setMulti — 存储多个元素
setMultiByKey — Store multiple items on a specific server
setOption — 设置一个memcached选项