class
redisDB{
private
$redis
;
//redis對象
/**
* 初始化Redis
* $config = array(
* 'server' => '127.0.0.1' 服務器
* 'port' => '6379' 端口號
* )
* @param array $config
*/
function
__construct(
$config
=
array
()){
$this
->redis =
new
Redis();
$this
->redis->connect(REDIS_SERVER,REDIS_PORT);
return
$this
->redis;
}
/**
* 設置值
* @param string $key KEY名稱
* @param string|array $value 獲取獲得的數據
* @param int $timeOut 時間
*/
public
function
set(
$key
,
$value
,
$timeOut
= 0,
$type
=
'json'
) {
if
(
$type
==
'serialize'
)
{
$value
= serialize(
$value
);
}
else
{
$value
= json_encode(
$value
);
}
$retRes
=
$this
->redis->set(
$key
,
$value
);
if
(
$timeOut
> 0)
$this
->redis->setTimeout(
$key
,
$timeOut
);
return
$retRes
;
}
/**
* 經過KEY獲取數據
* @param string $key KEY名稱
*/
public
function
get(
$key
,
$type
=
'json'
) {
$result
=
$this
->redis->get(
$key
);
if
(
$type
==
'serialize'
)
{
return
unserialize(
$result
);
}
else
{
return
json_decode(
$result
);
}
}
/**
* 刪除一條數據
* @param string $key KEY名稱
*/
public
function
delete
(
$key
) {
return
$this
->redis->
delete
(
$key
);
}
/**
* 清空數據
*/
public
function
flushAll() {
return
$this
->redis->flushAll();
}
/**
* 數據入隊列
* @param string $key KEY名稱
* @param string|array $value 獲取獲得的數據
* @param bool $right 是否從右邊開始入
*/
public
function
push(
$key
,
$value
,
$right
= true) {
$value
= json_encode(
$value
);
return
$right
?
$this
->redis->rPush(
$key
,
$value
) :
$this
->redis->lPush(
$key
,
$value
);
}
/**
* 數據出隊列
* @param string $key KEY名稱
* @param bool $left 是否從左邊開始出數據
*/
public
function
pop(
$key
,
$left
= true) {
$val
=
$left
?
$this
->redis->lPop(
$key
) :
$this
->redis->rPop(
$key
);
return
json_decode(
$val
);
}
/**
* 數據自增
* @param string $key KEY名稱
*/
public
function
increment(
$key
) {
return
$this
->redis->incr(
$key
);
}
/**
* 數據自減
* @param string $key KEY名稱
*/
public
function
decrement(
$key
) {
return
$this
->redis->decr(
$key
);
}
/**
* key是否存在,存在返回ture
* @param string $key KEY名稱
*/
public
function
exists(
$key
) {
return
$this
->redis->exists(
$key
);
}
/**
* 返回redis對象
* redis有很是多的操做方法,咱們只封裝了一部分
* 拿着這個對象就能夠直接調用redis自身方法
*/
public
function
redis() {
return
$this
->redis;
}
}
include
'redis.php'
;
$redis
=
new
redisDB();
$key
=
'fields'
;
$value
=
'好腳本'
;
//value能夠是字符串或者數組
$redis
->set(
$key
,
$value
);
//獲取fields的值也很簡單
$fvalue
=
$redis
->get(
'fields'
);
print_r(
$fvalue
);
用到就copy吧,簡單,實用。嘿嘿
有須要用到
memcache的類
,能夠參考一下這個。http://www.haojb.cn/php/thread-68.html