1.示例代码
<?php
namespace Common\Drive;
use \Memcache;
/**
* Memcache 缓存操作类
*/
class Mcache
{
protected static $_instance = null;
private $mcache;
const CACHE_KEY = 'userinfo';
/**
* Singleton instance
*
* @return Object
*/
public static function getInstance($dbHost, $port)
{
if (self::$_instance === null) {
self::$_instance = new self($dbHost, $port);
}
return self::$_instance;
}
/**
* 链接Memcache缓存
*/
public function __construct ($host='127.0.0.1', $port='11211')
{
if($this->mcache) return $this->mcache;
$this->mcache = new Memcache();
$this->mcache ->connect($host, $port);
}
/**
* 获取key值
* @param $key
* @return mixed
*/
public function get($keyssss)
{
$key = md5(static::CACHE_KEY.$keyssss);
return $this->mcache->get($key);
}
/**
* 设置key值
* @param $key
* @param $str
* @return mixed
*/
public function set($keyssss, $str, $time=60)
{
$key = md5(static::CACHE_KEY.$keyssss);
// echo '设置'.$keyssss.'===='.$key.PHP_EOL;
return $this->mcache->set($key, $str, 0, $time);
}
/**
* 获取用户信息
* @param $key
* @return array|string
*/
public function getUserInfo($key)
{
return $this->mcache->get($key);
}
}
2.新增一个memcache服务
命令:
/usr/local/memcached/bin/memcached -d -m 200 -u root -p 12345 -c 1000 -P /tmp/memcached.pid
d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB
-u是运行Memcache的用户,如果当前为 root 的话,需要使用此参数指定用户。
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.91
-p是设置Memcache监听的端口,我这里设置了12301,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
停止Memcache进程:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,但是端口不能重复
-d install 安装memcached
-d uninstall 卸载memcached
-d start 启动memcached服务
-d restart 重启memcached服务
-d stop 停止memcached服务
-d shutdown 停止memcached服务
1、查看启动的memcache服务:
netstat -lp | grep memcached
2、查看memcache的进程号(根据进程号,可以结束memcache服务:“kill -9 进程号”)
ps -ef | grep memcached