swoole / swoole-src

🚀 Coroutine-based concurrency library for PHP
https://www.swoole.com
Apache License 2.0
18.47k stars 3.16k forks source link

希望能在v6版本中解决一下Redis\Server::format方法的数据类型问题 #5561

Closed warmbook closed 4 days ago

warmbook commented 1 week ago

微信图片_20241111194318 微信截图_20241111202321 如上图,目前Redis\Server::format方法貌似只是简单地将数组中的key和value都转为字符串,或许是因为用的人很少就简单点实现了这么个功能。但是不管怎么说这不是规范的处理,我试了一下自行拼接响应字符串,客户端是可以正常识别的,希望大佬们能支持一下🙏 简单说就是将数组中的int型value按RESP规范输出int,对数组型value用递归方式输出数组。

微信图片_20241111194322 至于我为什么会捣鼓这玩意,因为swoole支持Redis服务,我对这玩意的需求又很简单,所以就希望一起集成在PHP项目中而不是另外再装一套Redis服务,重点是还能自定义命令!虽然我这情况可能很小众,但是既然支持了,那就好人当到底嘛~~

NathanFreeman commented 1 week ago

我们这边看看怎么弄

LIngMax commented 1 week ago

我也正在写这个 我方案 用swoole Map 实现简单内存共享的set get del 自增+自动过期 双核执行性能在50w/s左右 多核最高 100w/s左右 (受限于Map性能 读写200w/s左右) 方法+参数跟redis一致 有问题时可以用redis平替

原redis吞吐 3w/s 集群每个节点 2w/s

LIngMax commented 1 week ago

LUR.class.zip 可以试试