美文网首页
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

    RedisModel Redis 缓存服务模块类 ⚠️ 要使用 Azalea\RedisModel 必须在配置中声...

  • Azalea

    Azalea 是一个基于 PHP7 下的 MVC 开发框架,源于早期 BPF 项目,经优化并由 C 语言重新实现成...

  • Azalea\Bootstrap

    Bootstrap 应用启动类 ⚠️ Bootstrap 构造函数已私有,无法通过 new 方式实例化,仅通过 i...

  • Azalea\Config

    Config 配置类 ⚠️ Config 为静态类,无需实例化,但只建议在 控制器 和 模块 中使用,在 视图 中...

  • Azalea\Controller

    Controller 控制器虚类 ⚠️ Controller 为抽象类,无法通过 new 方式实例化,由 Boot...

  • Azalea\Request

    Request 请求类 ⚠️ Request 构造函数已私有,无法通过 new 方式实例化,仅通过 控制器 的 g...

  • Azalea\Response

    Response 响应类 ⚠️ Response 构造函数已私有,无法通过 new 方式实例化,仅通过 控制器 的...

  • Azalea\Session

    Session 会话类 不建议直接使用 $_SESSION 超全局变量 ⚠️ Session 构造函数已私有,无法...

  • Azalea\View

    View 视图类 ⚠️ View 构造函数为 private,无法通过 new 方式实例化,仅通过 控制器 的 g...

  • Azalea\Exception

    Exception 异常虚类 Azalea\Exception 继承于 PHP 异常类 \Exception Ex...

网友评论

      本文标题:Azalea\RedisModel

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