启动
1、linux环境下:
/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid
/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached2.pid
/usr/bin/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid
2、windows环境下:
在windows下我们可以用命令
memcached -d install memcached -m 128 -n 128 -c 30720 -p 11211 -d start
命令测试
1.telnet 127.0.0.1 11211 然后直接输入stats就可以得到当前memcache的状态。
2.ps -ef | grep memcached
3.netstat -lp | grep memcached
代码测试
<?php
//连接
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211) or die ("Could not connect");
//显示版本
$version = $mem->getVersion();
echo "Memcached Server version: ".$version."<br>";
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br>";
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$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>";
//对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失,先序列化,再发生.
//$arr1=serialize($arr);
$arr2=json_encode($arr1);
print_r($arr2);
//删除数据
$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();
----分布式使用-----
<?php
//1.实例化一个Memcache对象
$mem=new Memcache();
//2. 连接到指定的memcache中
// $mem->connect("127.0.0.1",11211);
//如果我们网站,需要多个memached缓存系统,如下使用分布式
$mem->addServer("192.168.1.100",11211);
$mem->addServer("192.168.1.200",11211);
$mem->addServer("192.168.1.222",11211);
//创建多个memcache服务使用addServer 会根据负载均衡算法,自动放入每个服务器
$mem->add("name","zs",0,100);
?>