One - 一个极简的基于swoole常驻内存框架
github: https://github.com/lizhichao/one
码云:https://gitee.com/vicself/one
1.4.1 发布:
优化
修复
增加
class Article extends Model
{
CONST TABLE = 'articles';
public function week()
{
return $this->where('create_at', '>', strtotime('-1 week'));
}
/**
* 根据点赞排序
*/
public function orderByLikeCount()
{
return $this->orderBy('like_count', 'desc');
}
}
// 获取周排行榜 按照点赞数量
Article::column(['id','title'])->where('create_at', '>', strtotime('-1 week'))->orderBy('like_count', 'desc')->limit(10)->findAll();
// 通过自己创建的查询构造器
Article::column(['id','title'])->week()->orderByLikeCount()->limit(10)->findAll();
// 添加方法`method1`,`method2` 供远程客户端调用
RpcServer::add(Abc::class,'method1');
RpcServer::add(Abc::class,'method2');
// 现在可以这么写
RpcServer::add(Abc::class,['method1','method2']);
$global_data = new \App\GlobalData\Client();
// 设置队为固定长度
$global_data->setQueueLimit(3);
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $i) {
$global_data->push('abc', $i);
}
while (1) {
$ret = $global_data->pop('abc');
if ($ret !== null) {
echo $ret . PHP_EOL;
} else {
break;
}
}
//以上输出
//3
//4
//5
//删除固定长度限制
$global_data->delQueueLimit('abc');