Redis服务类

Redis服务类


/**
 * Redis服务类
 */
class RedisService {
    
    private static $redis;

    /**
     * 获取Redis实例
     * @param string $host Redis主机名
     * @param int $port Redis端口号
     * @param string $password Redis密码
     * @return Redis
     */
    public static function getInstance($host, $port, $password) {
        if (!self::$redis) {
            self::$redis = new Redis();
            self::$redis->connect($host, $port);
            if ($password) {
                self::$redis->auth($password);
            }
        }
        return self::$redis;
    }

    /**
     * 设置缓存
     * @param string $key 缓存键
     * @param mixed $value 缓存值
     * @param int $expire 过期时间(秒)
     * @return bool
     */
    public static function set($key, $value, $expire = 0) {
        if ($expire) {
            return self::$redis->setex($key, $expire, $value);
        } else {
            return self::$redis->set($key, $value);
        }
    }

    /**
     * 获取缓存
     * @param string $key 缓存键
     * @return mixed
     */
    public static function get($key) {
        return self::$redis->get($key);
    }

    /**
     * 删除缓存
     * @param string $key 缓存键
     * @return bool
     */
    public static function delete($key) {
        return self::$redis->del($key);
    }

    /**
     * 判断缓存是否存在
     * @param string $key 缓存键
     * @return bool
     */
    public static function exists($key) {
        return self::$redis->exists($key);
    }

    /**
     * 自增
     * @param string $key 缓存键
     * @param int $value 自增值
     * @return int
     */
    public static function incr($key, $value = 1) {
        return self::$redis->incrby($key, $value);
    }

    /**
     * 自减
     * @param string $key 缓存键
     * @param int $value 自减值
     * @return int
     */
    public static function decr($key, $value = 1) {
        return self::$redis->decrby($key, $value);
    }

    /**
     * 关闭连接
     */
    public static function close() {
        self::$redis->close();
    }

    /**
     * 设置hash值
     * @param string $key 缓存键
     * @param string $field 域
     * @param mixed $value 值
     * @return bool
     */
    public static function hset($key, $field, $value) {
        return self::$redis->hset($key, $field, $value);
    }

    /**
     * 获取hash值
     * @param string $key 缓存键
     * @param string $field 域
     * @return mixed
     */
    public static function hget($key, $field) {
        return self::$redis->hget($key, $field);
    }

    /**
     * 删除hash值
     * @param string $key 缓存键
     * @param string $field 域
     * @return bool
     */
    public static function hdel($key, $field) {
        return self::$redis->hdel($key, $field);
    }

    /**
     * 设置list值
     * @param string $key 缓存键
     * @param mixed $value 值
     * @return int
     */
    public static function lpush($key, $value) {
        return self::$redis->lpush($key, $value);
    }

    /**
     * 获取list值
     * @param string $key 缓存键
     * @param int $start 开始位置
     * @param int $end 结束位置
     * @return array
     */
    public static function lrange($key, $start, $end) {
        return self::$redis->lrange($key, $start, $end);
    }

    /**
     * 删除list值
     * @param string $key 缓存键
     * @param mixed $value 值
     * @param int $count 删除数量
     * @return int
     */
    public static function lrem($key, $value, $count = 0) {
        return self::$redis->lrem($key, $value, $count);
    }

    /**
     * 设置set值
     * @param string $key 缓存键
     * @param mixed $value 值
     * @return int
     */
    public static function sadd($key, $value) {
        return self::$redis->sadd($key, $value);
    }

    /**
     * 获取set值
     * @param string $key 缓存键
     * @return array
     */
    public static function smembers($key) {
        return self::$redis->smembers($key);
    }

    /**
     * 删除set值
     * @param string $key 缓存键
     * @param mixed $value 值
    * @return int
     */
    public static function srem($key, $value) {
        return self::$redis->srem($key, $value);
    }

    /**
     * 设置zset值
     * @param string $key 缓存键
     * @param mixed $value 值
     * @param float $score 分数
     * @return int
     */
    public static function zadd($key, $value, $score) {
        return self::$redis->zadd($key, $score, $value);
    }

    /**
     * 获取zset值
     * @param string $key 缓存键
     * @param int $start 开始位置
     * @param int $end 结束位置
     * @param bool $withscores 是否返回分数
     * @return array
     */
    public static function zrange($key, $start, $end, $withscores = false) {
        return self::$redis->zrange($key, $start, $end, $withscores);
    }

    /**
     * 删除zset值
     * @param string $key 缓存键
     * @param mixed $value 值
     * @return int
     */
    public static function zrem($key, $value) {
        return self::$redis->zrem($key, $value);
    }
}


// 使用示例
$redisService = new RedisService();
$redisService->connect('127.0.0.1', 6379, 'password');
$redisService->set('name', 'Redis');
echo $redisService->get('name');
$redisService->delete('name');
$redisService->close();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值