Redis单例,实例:
class RedisOperate
{
private static $instance = null;
//禁止new
private function __construct(){}
//禁止clone
private function __clone(){}
public static function getInstance()
{
if (!self::$instance instanceof self) {
$host = $_SERVER['redis_host'];
$port = $_SERVER['redis_port'];
self::$instance = new \Redis();
self::$instance->connect($host, $port);
}
return self::$instance;
}
}
Memcached单例,实例:
class MemcacheOperate
{
private static $instance = null;
//禁止new
private function __construct(){}
//禁止clone
private function __clone(){}
public static function getInstance()
{
if (!self::$instance instanceof self) {
$host = $_SERVER['memcache_host'];
$port = $_SERVER['memcache_port'];
self::$instance = new \Memcached();
self::$instance->addServer($host, $port);
}
return self::$instance;
}
}
client(使用)实例:
$_SERVER['redis_host'] = '127.0.0.1';
$_SERVER['redis_port'] = '6379';
RedisOperate::getInstance()->set('count', 0);
$redis_res = RedisOperate::getInstance()->incr('count');
var_dump($redis_res);
$_SERVER['memcache_host'] = '127.0.0.1';
$_SERVER['memcache_port'] = '11211';
MemcacheOperate::getInstance()->set('count', 0);
$mem_res = MemcacheOperate::getInstance()->increment('count',2);
var_dump($mem_res);
