热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

one1.4.1发布,基于Swoole的极简常驻内存框架

github: https:github.comlizhichaoone码云:https:gitee

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');

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


推荐阅读
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • C语言编写线程池的简单实现方法
    2019独角兽企业重金招聘Python工程师标准好文章,一起分享——有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 本文详细解析了ASP.NET 2.0中的Callback机制,不仅介绍了基本的使用方法,还深入探讨了其背后的实现原理。通过对比Atlas框架,帮助读者更好地理解和应用这一机制。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 双指针法在链表问题中应用广泛,能够高效解决多种经典问题,如合并两个有序链表、合并多个有序链表、查找倒数第k个节点等。本文将详细介绍这些应用场景及其解决方案。 ... [详细]
  • 探讨Redis的最佳应用场景
    本文将深入探讨Redis在不同场景下的最佳应用,包括其优势和适用范围。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文详细介绍了在MySQL中如何高效利用EXPLAIN命令进行查询优化。通过实例解析和步骤说明,文章旨在帮助读者深入理解EXPLAIN命令的工作原理及其在性能调优中的应用,内容通俗易懂且结构清晰,适合各水平的数据库管理员和技术人员参考学习。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
author-avatar
储兰兰快乐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有