-
memcache 入门一
php 使用memcache 将变量存储到内存中以加快程序运行速度,要使用memcache 需要先安装配置对应的模块,使用memcache不需要像session那样在实现多主机共享时进行负责的控制判断,实时性高效的memcache让分布 式架构处理共享信息更轻松。先看一个官网的实例吧
$memcache = new Memcache; $memcache->connect('localhost', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version." \n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds) \n"; $get_result = $memcache->get('key'); echo "Data from the cache: \n"; var_dump($get_result);
可以看到新建一个memcache对象后可以是用 set get 轻松的设置和获取内存中的变量,
Memcache面向对象的常用接口包括:
Memcache::connect — 打开一个到Memcache的连接
Memcache::pconnect — 打开一个到Memcache的长连接
Memcache::close — 关闭一个Memcache的连接
Memcache::set — 保存数据到Memcache服务器上
Memcache::get — 提取一个保存在Memcache服务器上的数据
Memcache::replace — 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set)
Memcache::delete — 从Memcache服务器上删除一个保存的项目
Memcache::flush — 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目)
Memcache::getStats — 获取当前Memcache服务器运行的状态
Memcache::getVersion 获取当前服务器memcache版本信息
memcache_debug() 开启或关闭调试
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
= 0 ] )
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 ] )
mixed 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
]]]]] )
}
上面的翻译只罗列了一些常用的方法,需要具体资料的可以参考php官方文档http://cn2.php.net/manual/en/book.memcache.php