无论是学习中还是工作中,我们经常听到Redis这个东西,似乎他能让你的网站更快,能解决高并发问题,能让程序员更酷.
实际上确实是的,Redis是一个给予内存的Key-value存储系统.他可以让我们实现高速的缓存读取,实现一个稳定的队列.你值得了解它,也应该了解它.
当我们把PHP和Redis一起讨论的时候,总是在聊PHP的Redis扩展,如何使用单例去更优雅的使用Redis,但是你有没有想过用PHP开发一个Redis呢?今天就让小编给大家介绍一下这个项目:clue/redis-server.
项目目标
目前项目已经实现了一下目标:
- 使用Redis协议实现内存数据存储
- 兼容常见的Redis客户端
- 兼容redus-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文件中也回答了:很简单,根本不需要!