Memcache使用基础教程
windows下请先下载安装Winginx
<?php
//连接
$mem = new Memcache;
$mem->connect("192.168.0.100", 12000);
//winginx的端口号是11211
//保存数据
$mem->set('key1', 'This is first value', 0, 3600);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br />";
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//关闭连接
$mem->close();
?>
代码分析
$mem = new Memcache;
初始化一个Memcache的对象。
$mem->connect("192.168.0.100", 12000);
连接到Memcache服务器端,第一个参数是服务器的IP地址,也可以是主机名,第二个参数是Memcache的开放的端口。
跟Mysql一样,同样有pconnect($host, $port)的长连接方法,这个方法不能被close关闭。
$mem->set('key1', 'This is first value', 0, 3600);
保存一个数据到Memcache服务器上,第一个参数是数据的key,用来定位一个数据(索引),第二个参数是需要保存的数据内容,这里是一个字符串,第三个参数是一个标记,一般设置为0或者MEMCACHE_COMPRESSED(压缩),第四个参数是数据的有效期,就是说数据在这个时间内是有效的,如果过去这个时间,那么会被Memcache服务器端清除掉这个数据,单位是秒,如果设置为0,则是永远有效,我们这里设置了3600,就是一个小时。
同时我还发现还有add()和replace()方法,一个插数据一个修改数据,set是他们的综合版啊。
$val = $mem->get('key1');
从Memcache服务器端获取一条数据,它只有一个参数,就是需要获取数据的key,我们这里是上一步设置的key1。
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
同样的,Memcache也是可以保存数组的。
$mem->delete('key1');
同样的,删除也通过这个key来删除单条内容。
$mem->flush();
清除Memcache服务器上的数据,慎用喔,如果服务器上有别人的缓存的话。
Memadmin管理工具
在此推荐一个工具:memadmin, winginx已经自带了!
这是个对Memcache进行管理的程序,功能强大,界面美观,可以提升开发和debug效率喔,具体使用方法一看就懂,不做介绍啦。