Azalea\RedisModel

2016-08-23  本文已影响55人  Bun_Wong

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 = "*" )
$keys = $redisModel->keys();
$keys = $redisModel->keys('foo*');

RedisModel::get


获取缓存值

mixed RedisModel::get ( string $key [, mixed $default = null [, string $serialize = 'json']] )
反序列化方法 描述
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']] )
序列化方法 描述
json json_encode,默认值
php serialize,常用于保存 PHP 类或键值对数组(因为 json 方法无法保存对象所属类名,而键值对数组还原后会得到 stdClass 对象)
raw 原始字符串,当选择该序列化方式时,$value 必须为字符串
$result = $redisModel->set('foo', [1, 2, 3]);
$result = $redisModel->set('hello', 'world', 0, 'raw');

RedisModel::delete


删除缓存键

int RedisModel::delete ( string ...$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] )
$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

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

猜你喜欢

热点阅读