php封装redis 链接,存值,取值
发布时间:2022-03-11 13:24:19 作者:米站 阅读量:42
/**
* |++++++++++++++++redis配置++++++++++++++++++++|
*/
/**
* redis 链接
*/
if (!function_exists('redis_connect')) {
function redis_connect()
{
$redis_config = config('site.redis_config');
$redis = new Redis();
if (!$redis_config['redis_host'] || !$redis_config['redis_port']){
return '请检查redis配置';
}
$is_connect = $redis->connect($redis_config['redis_host'], $redis_config['redis_port']);
if (isset($redis_config['password']) && !empty($redis_config['password'])){
$redis_auth = $redis->auth($redis_config['password']);
if (!$redis_auth){
return 'redis密码错误';
}
}
$redis->select(0); //选择redis库, 0~15 共16个库
//检测是否连接成功
$is_connect = $is_connect == 'PONG' ? true : false;
if (!$is_connect){
return false;
}
return $redis;
}
}
/**
* redis 赋值【可以存数组,对象,字符串】
*/
if (!function_exists('redis_set')) {
/**
* @param $key 键名
* @param $value 键值
* @param $expire 过期时间,默认0永久保存【时间戳格式,单位秒】
* @return bool|string
*/
function redis_set($key,$value,$expire = 0)
{
$redis = redis_connect();
if($redis->exists($key)){
$redis->del($key);
}
if(is_object($value)||is_array($value)){
$value = serialize($value);
}
$redis->set($key,$value);
if ($expire>0){
$redis->expire($key,$expire);
}
return true;
}
}
/**
* redis 取值
*/
if (!function_exists('redis_get')) {
/**
* @param $key
* @return bool|mixed|string
*/
function redis_get($key)
{
$redis = redis_connect();
$value = $redis->get($key);
$value_serl = @unserialize($value);
if(is_object($value_serl)||is_array($value_serl)){
return $value_serl;
}
return $value;
}
}