无论是学习中还是工作中,我们经常听到Redis这个东西,似乎他能让你的网站更快,能解决高并发问题,能让程序员更酷。
实际上确实是的,Redis是一个给予内存的Key-value存储系统。他可以让我们实现高速的缓存读取,实现一个稳定的队列。你值得了解它,也应该了解它。
当我们把PHP和Redis一起讨论的时候,总是在聊PHP的Redis扩展,如何使用单例去更优雅的使用Redis,但是你有没有想过用PHP开发一个Redis呢?今天就让小编给大家介绍一下这个项目:clue/redis-server。
clue/redis-server是一个用PHP开发的Redis,是的,使用PHP开发的。实际上有很多Redis的变种,比如有人用go也做过Redis。这是一个值得学习的项目,他不是在简单的做业务,如果感兴趣可以多了解一下。
项目目标
目前项目已经实现了一下目标:
- 使用Redis协议实现内存数据存储
- 兼容常见的Redis客户端
- 兼容redis-cli
- 通过redis基准测试
- 稳定现代的设计模式/经过测试的模块化组件
目前已经实现了大部分的Redis命令,但是并没有实现全部的标准命令
性能测评
使用redis-benchmark测试性能:
redis-server
root@vultr:~# redis-benchmark -t set,get -p 1338 -q
SET: 159235.66 requests per second
GET: 127388.53 requests per second
php7.4
root@vultr:~# redis-benchmark -t set,get -q
SET: 81900.09 requests per second
GET: 81699.35 requests per second
php8.0
root@vultr:~# redis-benchmark -t set,get -q
SET: 84033.61 requests per second
GET: 86956.52 requests per second
php8.1
root@vultr:~# redis-benchmark -t set,get -q
SET: 84388.19 requests per second
GET: 87565.68 requests per second
小编开通了一个4核8G的Debian11服务器进行测试,PHP直接使用apt 安装使用默认配置,没有进行优化。
我们可以发现使用PHP的性能只有官方Redis的一半。在其他一些人的测试中,有时候性能能达到官方Redis的80%左右。
结尾
那么问题来了,既然已经有了官方的Redis了。什么情况下会需要PHP版本的呢?
作者在Readme文件中也回答了:很简单。根本不需要!
原文标题:[clue/redis-server]我们小心翼翼的宣布用纯PHP开发了一个Redis服务器
原文地址:https://phpreturn.com/index/a623326beda056.html
原文平台:PHP武器库
版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。