MemCache简单的使用方法
http://blog.tianya.cn/blogger/post_show.asp?BlogID=973425&PostID=13651031
$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的目录如下,其实代码调用非常简单,主要会用到的方法有 add()、get()、replace() 和 delete(),方法说明如下:
Memcache::add -- Add an item to the server
add ($key, $val, $exp = 0)
往 memcached 中写入对象,$key 是对象的唯一标识符,$val 是写入的对象数据,$exp 为过期时间,单位为秒,默认为不限时间;
Memcache::delete -- Delete item from the server
delete ($key, $time = 0)
删除 memcached 中标识符为 $key 的对象,$time 为可选参数,表示删除之前需要等待多长时间。
Memcache::get -- Retrieve item from the server
get ($key)
从 memcached 中获取对象数据,通过对象的唯一标识符 $key 获取;
Memcache::replace -- Replace value of the existing item
replace ($key, $value, $exp=0)
使用 $value 替换 memcached 中标识符为 $key 的对象内容,参数与 add() 方法一样,只有 $key 对象存在的情况下才会起作用;
主要的来说一说:bool Memcache::set ( string key, mixed var [, int flag [, int expire]] ) -- 保存数据到Memcache服务器上
string key:惟一关键字
关键字用于从缓存中检索相关数据。如果每条记录都有一个惟一 ID,则可能足以作为缓存关键字,但是您可以策划其他模式来满足需求。
mixed var :要缓存的变量
变量可以是任意类型,只要它可以被序列化为持久的变量并且可以取消序列化为检索的变量。
int flag :用于启用通过 zlib 进行动态压缩的布尔值
使用 MEMCACHE_COMPRESSED 来压缩信息到内存中 —— 虽然处理数据时都要以保存和恢复为代价。
int expire:以秒为单位指定的过期时间
当缓存的数据过期时,它将被自动删除。如果将此值设为 0,则该条目永远不会在缓存中过期。使用 Memcache API delete() 函数删除这样一个永久对象。
例如:
Code:
$memcache_obj = new Memcache;
$memcache_obj->connect('localhost', 11211);
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);
echo $memcache_obj->get('var_key');
?>
Memcache::connect -- 打开一个到Memcache的连接
Memcache::pconnect -- 打开一个到Memcache的长连接
Memcache::close -- 关闭一个Memcache的连接
Memcache::flush -- 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目)
Memcache::getStats -- 获取当前Memcache服务器运行的状态
另外为了看到所有slabs组的统计数据以及统计情况: 通过telnet 127.0.0.1 11211 可以连上memcached, 键入命令 stats slabs 可以看到所有slabs组的统计数据以及统计情况了.
$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的目录如下,其实代码调用非常简单,主要会用到的方法有 add()、get()、replace() 和 delete(),方法说明如下:
Memcache::add -- Add an item to the server
add ($key, $val, $exp = 0)
往 memcached 中写入对象,$key 是对象的唯一标识符,$val 是写入的对象数据,$exp 为过期时间,单位为秒,默认为不限时间;
Memcache::delete -- Delete item from the server
delete ($key, $time = 0)
删除 memcached 中标识符为 $key 的对象,$time 为可选参数,表示删除之前需要等待多长时间。
Memcache::get -- Retrieve item from the server
get ($key)
从 memcached 中获取对象数据,通过对象的唯一标识符 $key 获取;
Memcache::replace -- Replace value of the existing item
replace ($key, $value, $exp=0)
使用 $value 替换 memcached 中标识符为 $key 的对象内容,参数与 add() 方法一样,只有 $key 对象存在的情况下才会起作用;
主要的来说一说:bool Memcache::set ( string key, mixed var [, int flag [, int expire]] ) -- 保存数据到Memcache服务器上
string key:惟一关键字
关键字用于从缓存中检索相关数据。如果每条记录都有一个惟一 ID,则可能足以作为缓存关键字,但是您可以策划其他模式来满足需求。
mixed var :要缓存的变量
变量可以是任意类型,只要它可以被序列化为持久的变量并且可以取消序列化为检索的变量。
int flag :用于启用通过 zlib 进行动态压缩的布尔值
使用 MEMCACHE_COMPRESSED 来压缩信息到内存中 —— 虽然处理数据时都要以保存和恢复为代价。
int expire:以秒为单位指定的过期时间
当缓存的数据过期时,它将被自动删除。如果将此值设为 0,则该条目永远不会在缓存中过期。使用 Memcache API delete() 函数删除这样一个永久对象。
例如:
Code:
$memcache_obj = new Memcache;
$memcache_obj->connect('localhost', 11211);
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);
echo $memcache_obj->get('var_key');
?>
Memcache::connect -- 打开一个到Memcache的连接
Memcache::pconnect -- 打开一个到Memcache的长连接
Memcache::close -- 关闭一个Memcache的连接
Memcache::flush -- 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目)
Memcache::getStats -- 获取当前Memcache服务器运行的状态
另外为了看到所有slabs组的统计数据以及统计情况: 通过telnet 127.0.0.1 11211 可以连上memcached, 键入命令 stats slabs 可以看到所有slabs组的统计数据以及统计情况了.