封装 php redis 缓存类

 
封装 php redis 缓存类,源码如下 (需要自己实例化下redis):
 
<?php

class Cache {


private static function init(){

return RedisClient::getInstance('redis');

// 上面是我的实例化方式,需要修改为自己实例化redis。

}

/*
* #desc 根据缓存级别,定义过期时间
*
*
* */

private static function lifetime($level){

switch ($level)
{
case 'low':
return 300;
case 'normal':
return 1200;
case 'high':
return 3600;
default:
return 1200;
}

}

public static function set($key,$value,$level='normal'){

$redis = self::init();

$value = (is_object($value) || is_array($value)) ? json_encode($value) : $value; //对数组/对象数据进行缓存处理,保证数据完整性

return $redis->set($key,$value,self::lifetime($level));

}

public static function get($key){

$redis = self::init();
$value = $redis->get($key);
if (is_null($value)) {
return false;
}
$jsonData = json_decode($value, true);

return (null === $jsonData) ? $value : $jsonData;

}

}

0 个评论

要回复文章请先登录注册