imi v1.0.4 发布,多个功能组件功能增强和优化

栏目: 软件资讯 · 发布时间: 6年前

内容简介:imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。 由 Swoole 提供强力驱动,Swoole 拥有常驻内存、协程非阻塞 IO 等特性。 框架遵守 PSR 标准规范,提供 AOP、注解、连接池、请...

imi v1.0.4 发布,多个功能组件功能增强和优化

imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。

由 Swoole 提供强力驱动,Swoole 拥有常驻内存、协程非阻塞 IO 等特性。

框架遵守 PSR 标准规范,提供 AOP、注解、连接池、请求上下文管理、ORM模型等常用组件。

imi 的模型支持关联关系的定义,增删改查一把梭!

毫秒级的注解及代码热更新,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。

与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。

imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日

测试用例持续完善中,目前有 122 个测试,437 个断言。

更新内容

Lock

  • 新增 Lock 快捷类

  • 新增 Atomic 进程锁

  • 新增 Lock 测试用例

  • 新增 Lock Annotation 测试用例

  • Lock 接口强类型定义

  • 支持配置定义 Lock,根据 lockId 操作

  • 修复 tryLock() 执行回调时,不返回 boolean 问题

MemoryTable

  • MemoryTable 支持使用类来定义结构

  • 支持在配置中设定 MemoryTable

  • 新增 MemoryTable 测试用例

  • 修复 MemoryTableManager 问题

ConnectContext

  • 重构,现在ConnectContext不再本地存储数据,不再怕多个worker进程同时去读写

  • 新增 ConnectContext 锁支持,现在读写数据不会冲突,必须设置锁,升级请注意!

  • 新增内存表 ConnectContext Handler 支持

Cache

  • 新增 RedisHash Handler defaultHashKey

  • 新增缓存测试用例

  • 新增缓存注解测试用例

  • 修复 Cache Redis/RedisHash Handler 返回值问题

  • 修复 Cache File delete() 不删除 .ex 文件问题

  • 修复 Cache File clear() 无返回值问题

  • 修复 Cache File getMultiple() 方法返回键为数字问题

WebSocket

  • 新增 WebSocket open 事件

  • WebSocket 的连接上下文创建移动到中间件执行之前,在中间件中就可以操作连接上下文

其它

  • 使用 defer 实现自动释放 RequestContext

  • 新增支持 redis 的 options 配置项(支持:\Redis::OPT_XXX)

  • 支持设定 ServerGroup 的 status,是否启用分组

  • 调整:当PoolResource->checkState()为false时,先close()再open()

  • initWorker() 中清除池和缓存对象

  • 让测试用例在协程下运行

  • 修复 GroupRedis、ConnectContextRedis 不等待执行完毕的就 App Inited 的问题

  • Db Statement 释放移入 Db 下

  • HttpDispatcher->dispatch() 增加返回值 Response

  • 修复 AtomicManager::wakeup() 返回值问题

联系我们

Github 反馈:https://github.com/Yurunsoft/IMI/issues

码云仓库:https://gitee.com/yurunsoft/IMI

开源中国 问答:https://www.oschina.net/question


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

查看所有标签

猜你喜欢:

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

Learn Python the Hard Way

Learn Python the Hard Way

Zed Shaw / Example Product Manufacturer / 2011

This is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up t......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具