memcached的使用
2016-07-07 00:57
585 查看
基本使用方法
<?php
/**
* Created by PhpStorm.
* User: raid
* Date: 2016/7/6
* Time: 12:03
*/
$m = new Memcached;
$arr = array(
array('127.0.0.1', 11211),
array('127.0.0.2', 11211),
);
$m->addServer('127.0.0.1', 11211);
print_r($m->getStats());
echo "<br/>";
print_r($m->getVersion());
echo "<br/>";
$data = array(
'key' => 'value',
'key2' => 'value2',
);
//$m->setMulti($data, 600);
$result = $m->getMulti(array('key', 'key2'));
$m->deleteMulti(array('key', 'key2'));
//print_r($result);
echo $m->get('key');
echo $m->getResultCode();
echo $m->getResultMessage();
//$m->add('mkey', 'mvalue', 600);
//$m->replace('mkey', 'mvalue2', 1);
//$m->flush();
//$m->set('num', 50, 600);
//$m->increment('num', 5);
$m->decrement('num', 5);
echo $m->get('num');
$m->flush();
封装类:
<?php
/**
* Created by PhpStorm.
* User: raid
* Date: 2016/7/6
* Time: 19:25
*/
class Mem {
//Memcached对象
private $m;
//对象类型
private $type = 'Memcached';
//缓存时间
private $time = 0;
//错误
private $error;
//是否开启调试模式
private $debug = 'true';
public function __construct() {
if (!class_exists($this->type)) {
$this->error = 'No '.$this->type;
return false;
} else {
$this->m = new $this->type;
}
}
public function addServer($arr) {
$this->m->addServers($arr);
}
public function s($key, $value = '', $time = NULL) {
$number = func_num_args();
if ($number == 1) {
//get操作
return $this->get($key);
} else if ($number >= 2) {
if ($value === NULL) {
//delete操作
$this->delete($key);
} else {
//set操作
$this->set($key, $value, $time);
}
}
}
private function set($key, $value, $time = NULL) {
if ($time === NULL) {
$time = $this->time;
}
$this->m->set($key, $value, $time);
if ($this->debug) {
if ($this->m->getResultCode() != 0) {
return false;
}
}
}
private function get($key) {
$ret = $this->m->get($key);
if ($this->debug) {
if ($this->m->getResultCode() != 0) {
return false;
}
}
return $ret;
}
/**
* 删除
* @param $key
*/
private function delete($key) {
$this->m->delete($key);
}
public function getError() {
if ($this->error) {
return $this->error;
} else {
return $this->m->getResultMessage();
}
}
public function d($debug) {
$this->debug = $debug;
}
}
封装类的使用:
<?php
/**
* Created by PhpStorm.
* User: raid
* Date: 2016/7/6
* Time: 19:06
*/
include 'Mem.class.php';
$m = new Mem();
$m->addServer(array(
array('127.0.0.1', 11211),
));
//$m->s('key', 'value', 1800);
//
//$m->s('key', NULL);
//echo $m->s('key');
//echo $m->getError();
$m->s('test', 'testvalue', 0);
echo $m->s('test');
echo "<br/>";
$m->s('test', NULL);
echo $m->s('test');
<?php
/**
* Created by PhpStorm.
* User: raid
* Date: 2016/7/6
* Time: 12:03
*/
$m = new Memcached;
$arr = array(
array('127.0.0.1', 11211),
array('127.0.0.2', 11211),
);
$m->addServer('127.0.0.1', 11211);
print_r($m->getStats());
echo "<br/>";
print_r($m->getVersion());
echo "<br/>";
$data = array(
'key' => 'value',
'key2' => 'value2',
);
//$m->setMulti($data, 600);
$result = $m->getMulti(array('key', 'key2'));
$m->deleteMulti(array('key', 'key2'));
//print_r($result);
echo $m->get('key');
echo $m->getResultCode();
echo $m->getResultMessage();
//$m->add('mkey', 'mvalue', 600);
//$m->replace('mkey', 'mvalue2', 1);
//$m->flush();
//$m->set('num', 50, 600);
//$m->increment('num', 5);
$m->decrement('num', 5);
echo $m->get('num');
$m->flush();
封装类:
<?php
/**
* Created by PhpStorm.
* User: raid
* Date: 2016/7/6
* Time: 19:25
*/
class Mem {
//Memcached对象
private $m;
//对象类型
private $type = 'Memcached';
//缓存时间
private $time = 0;
//错误
private $error;
//是否开启调试模式
private $debug = 'true';
public function __construct() {
if (!class_exists($this->type)) {
$this->error = 'No '.$this->type;
return false;
} else {
$this->m = new $this->type;
}
}
public function addServer($arr) {
$this->m->addServers($arr);
}
public function s($key, $value = '', $time = NULL) {
$number = func_num_args();
if ($number == 1) {
//get操作
return $this->get($key);
} else if ($number >= 2) {
if ($value === NULL) {
//delete操作
$this->delete($key);
} else {
//set操作
$this->set($key, $value, $time);
}
}
}
private function set($key, $value, $time = NULL) {
if ($time === NULL) {
$time = $this->time;
}
$this->m->set($key, $value, $time);
if ($this->debug) {
if ($this->m->getResultCode() != 0) {
return false;
}
}
}
private function get($key) {
$ret = $this->m->get($key);
if ($this->debug) {
if ($this->m->getResultCode() != 0) {
return false;
}
}
return $ret;
}
/**
* 删除
* @param $key
*/
private function delete($key) {
$this->m->delete($key);
}
public function getError() {
if ($this->error) {
return $this->error;
} else {
return $this->m->getResultMessage();
}
}
public function d($debug) {
$this->debug = $debug;
}
}
封装类的使用:
<?php
/**
* Created by PhpStorm.
* User: raid
* Date: 2016/7/6
* Time: 19:06
*/
include 'Mem.class.php';
$m = new Mem();
$m->addServer(array(
array('127.0.0.1', 11211),
));
//$m->s('key', 'value', 1800);
//
//$m->s('key', NULL);
//echo $m->s('key');
//echo $m->getError();
$m->s('test', 'testvalue', 0);
echo $m->s('test');
echo "<br/>";
$m->s('test', NULL);
echo $m->s('test');
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- 实战Memcached缓存系统
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- php7 读取php.ini[4]
- Redis和Memcached的区别详解
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP