美文网首页
Azalea\RedisModel

Azalea\RedisModel

作者: Bun_Wong | 来源:发表于2016-08-23 18:26 被阅读55次

    RedisModel Redis 缓存服务模块类

    ⚠️ 要使用 Azalea\RedisModel 必须在配置中声明使用 $config['node-beauty']['redis'] = 1

    ⚠️ RedisModel 构造函数已私有,无法通过 new 方式实例化,仅通过 控制器模块getModel 方法获得

    // in controller-action
    $redisModel = $this->getModel('redis');
    $keys = $redisModel->keys();  // execute keys command
    

    RedisModel::keys


    获取缓存 keys

    array RedisModel::keys ( string $key = "*" )
    
    • 参数
      $key - 缓存键,支持通配符 "*"

    • 返回值
      匹配的缓存键数组

    • 范例

    $keys = $redisModel->keys();
    $keys = $redisModel->keys('foo*');
    

    RedisModel::get


    获取缓存值

    mixed RedisModel::get ( string $key [, mixed $default = null [, string $serialize = 'json']] )
    
    • 参数
      $key - 缓存键
      $default - 当缓存键不存在时返回的默认值,默认为 null,可用 isset 方法来判断
      $serialize - 反序列化方法
    反序列化方法 描述
    json json_decode,默认值
    php unserialize
    raw 原始字符串
    • 返回值
      缓存值

    • 范例

    $value = $redisModel->get('foo');
    $value = $redisModel->get('bar', null, 'raw');
    

    RedisModel::set


    设置缓存值

    bool RedisModel::set ( string $key , mixed $value [, int $lifetime = 0 [, string $serialize = 'json']] )
    
    • 参数
      $key - 缓存键
      $value - 缓存值
      $lifetime - 缓存有效时间,单位秒,默认为 0,表示不过期
      $serialize - 序列化方法
    序列化方法 描述
    json json_encode,默认值
    php serialize,常用于保存 PHP 类或键值对数组(因为 json 方法无法保存对象所属类名,而键值对数组还原后会得到 stdClass 对象)
    raw 原始字符串,当选择该序列化方式时,$value 必须为字符串
    • 返回值
      成功返回 true 否则 false

    • 范例

    $result = $redisModel->set('foo', [1, 2, 3]);
    $result = $redisModel->set('hello', 'world', 0, 'raw');
    

    RedisModel::delete


    删除缓存键

    int RedisModel::delete ( string ...$key )
    

    该方法可批量删除缓存键

    • 参数
      $key - 要删除的缓存键,支持通配符 "*"

    • 返回值
      成功删除的数量

    • 范例

    $affected = $redisModel->delete('*');  // 删除所有键,该行为建议使用 RedisModel::clean() 方法代替效率更高
    $affected = $redisModel->delete('foo*', 'bar*', 'hello', 'world');
    

    RedisModel::clean


    清除所有缓存

    bool RedisModel::clean ( void )
    
    • 参数

    • 返回值

    • 范例

    $result = $redisModel->clean();
    

    RedisModel::incr


    自增/自减缓存值

    int RedisModel::incr ( string ...$key [, int $increment = 1] )
    
    • 参数
      $key - 缓存键
      $increment - 自增值,默认 1,自减该值为负数

    • 返回值
      增减后的值

    • 范例

    $value = $redisModel->incr('foo');
    $value = $redisModel->incr('foo', 100);
    $value = $redisModel->incr('foo', -1);
    

    RedisModel::command


    执行 Redis 命令

    mixed RedisModel::command ( string $command [, string ...$args] )
    

    官方文档:http://redis.io/commands

    • 参数
      $command - Redis 命令
      $args - 命令参数

    • 返回值
      命令执行结果

    • 范例

    $result = $redisModel->command('flushall');  // flushall
    $result = $redisModel->command('keys');  // keys
    $result = $redisModel->command('hgetall', 'foo');  // hgetall foo
    

    相关文章

      网友评论

          本文标题:Azalea\RedisModel

          本文链接:https://www.haomeiwen.com/subject/nddnsttx.html