一.Memcache使用场景
1.非持久化存储:对数据存储要求不高
2.分布式存储:不适合单机使用
3.key/value存储:格式简单,不支持list,array数据格式
二.系统类
$m=new Memcached();
1.添加一个服务器(addServer)
$m->addServer("127.0.0.1",112111);
2.添加多个服务器(addServers)
$array=array(
array("127.0.0.1",112111),
array("127.0.0.2",112111)
);
$m->addServers($array);
3.检测服务器的状态(getStatus)
print_r($m->getStats());
4.查看服务器版本(getVersion)
print_r($m->getVersion());
三.数据类
1.添加数据---- add(键,值,时间);
$m->add('mkey','mvalue',0);//0表示时间是永久的 600表示在600s后失效
2.得到键对应的值----get(键)
echo $m->get('mkey');
3.替换某个键对应的值----replace(键,新值,时间)
$m->replace('mkey','mvalue2',600);
4.set操作:新建数据,实质是替换add和replace操作
$m-set('mkey','mvalue',600);
5.删除一个缓存----delete(键)
$m->delete('mkey');
6.删除所有的缓存----flush()
$m->flush();
7.自增操作----increment
$m->increment('num',5); //每次增加5
echo $m->get('num');
8.自减操作----decrement
$m->decrement('num',5); //每次减去5
echo $m->get('num');
四.更好的数据类
1.一次添加多条数据----setMulti
$data=array(
'key'=>'value',
'key2'=>'value2'
);
$m->setMulti($data,0);
2.得到多条数据
$result=$m->getMulti(array('key','key2'));
print_r($result);
3.删除多条数据
$m->deleteMulti(array('key','key2'));
4.返回上次操作的代号
echo $m->getResultCode();
5.返回上次操作的状态
echo $m->getResultMessage();
五.注意事项
1.不要在单机模式中使用Memcached
2.不要只使用Memcached保存重要数据
3.定期查看缓存的分布状况和击中情况