one 1.4.1 发布,基于 Swoole 的极简常驻内存框架

栏目: PHP · 发布时间: 7年前

内容简介:github: https://github.com/lizhichao/one码云:https://gitee.com/vicself/one

One - 一个极简的基于swoole常驻内存框架

github: https://github.com/lizhichao/one

码云:https://gitee.com/vicself/one

1.4.1 发布:

优化

  • 优化uuid生成规则

修复

  • 缓存驱动为 file 时 notice错误

增加

  • 允许在模型自己创建查询构造器链式调用

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();
  • 添加rpc 方法 支持数组

// 添加方法`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');

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Clojure编程

Clojure编程

Chas Emerick、Brian Carper、Christophe Grand / 徐明明、杨寿勋 / 电子工业出版社 / 2013-3-26 / 99.00元

Clojure是一种实用的通用语言,它是传奇语言LISP的方言,可与Ruby、Python等动态语言相媲美,更以无缝Java库、服务,以及拥有JVM系统得天独厚的资源优势而胜出。本书既可以用来熟悉Clojure基础知识与常见例子,也可了解其相关的实践领域与话题,更可以看到这一JVM平台上的LISP如何帮助消除不必要的复杂性,为大家在编程实践中解决最具挑战性的问题开辟新的选择——更具灵活性,更适于W......一起来看看 《Clojure编程》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具