163 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
namespace app\common\utils;
 | 
						|
 | 
						|
use think\facade\Cache;
 | 
						|
 | 
						|
class Redis
 | 
						|
{
 | 
						|
    public $redis = null;
 | 
						|
 | 
						|
 | 
						|
    public function __construct()
 | 
						|
    {
 | 
						|
        $this->redis = Cache::store('redis')->handler();
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 设置缓存
 | 
						|
     * @param $key
 | 
						|
     * @param $val
 | 
						|
     * @param null $time
 | 
						|
     * @return false
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:13
 | 
						|
     */
 | 
						|
    public function set($key, $val, $time = null)
 | 
						|
    {
 | 
						|
        if (empty($key)) {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
        if (is_array($val)) {
 | 
						|
            $val = json_encode($val, JSON_UNESCAPED_UNICODE);
 | 
						|
        }
 | 
						|
        return $this->redis->set($key, $val, $time);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 获取缓存
 | 
						|
     * @param $key
 | 
						|
     * @return false
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:14
 | 
						|
     */
 | 
						|
    public function get($key)
 | 
						|
    {
 | 
						|
        if (empty($key)) {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
        return $this->redis->get($key);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 删除指定
 | 
						|
     * @param $key
 | 
						|
     * @return mixed
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:02
 | 
						|
     */
 | 
						|
    public function del($key)
 | 
						|
    {
 | 
						|
        return $this->redis->del($key);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 清空
 | 
						|
     * @return mixed
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:02
 | 
						|
     */
 | 
						|
    public function flashAll()
 | 
						|
    {
 | 
						|
        return $this->redis->flushAll();
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 获取集合
 | 
						|
     * @param $key
 | 
						|
     * @return mixed
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:11
 | 
						|
     */
 | 
						|
    public function sMembers($key)
 | 
						|
    {
 | 
						|
        return $this->redis->sMembers($key);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 设置缓存时间
 | 
						|
     * @param $key
 | 
						|
     * @param $ttl
 | 
						|
     * @return mixed
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:02
 | 
						|
     */
 | 
						|
    public function expire($key, $ttl)
 | 
						|
    {
 | 
						|
        return $this->redis->expire($key, $ttl);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 向集合添加成员
 | 
						|
     * @param $key
 | 
						|
     * @param $val
 | 
						|
     * @return mixed
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:04
 | 
						|
     */
 | 
						|
    public function sadd($key, $val)
 | 
						|
    {
 | 
						|
        return $this->redis->sAdd($key, $val);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 移除集合成员
 | 
						|
     * @param $key
 | 
						|
     * @param $val
 | 
						|
     * @return mixed
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:04
 | 
						|
     */
 | 
						|
    public function srem($key, $val)
 | 
						|
    {
 | 
						|
        return $this->redis->sRem($key, $val);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 对象转数组
 | 
						|
     * @param $key
 | 
						|
     * @return array|false
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:03
 | 
						|
     */
 | 
						|
    public function getSmembersArray($key)
 | 
						|
    {
 | 
						|
        $res = $this->sMembers($key);
 | 
						|
        if (is_object($res)) {
 | 
						|
            return (array)$res;
 | 
						|
        }
 | 
						|
        return $res;
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * @notes 相似keys
 | 
						|
     * @param $prefix
 | 
						|
     * @return mixed
 | 
						|
     * @author 段誉
 | 
						|
     * @date 2021/12/20 12:02
 | 
						|
     */
 | 
						|
    public function keys($prefix)
 | 
						|
    {
 | 
						|
        return $this->redis->keys($prefix.'*');
 | 
						|
    }
 | 
						|
 | 
						|
} |