主要观点:近期出现 Redis 替代品,进行基准测试以比较从 Redis 切换到替代品的性能增益;探索了多个新的竞争者及 Rails 自身的 SolidCache 等;基准测试聚焦纯性能。
关键信息:
- 测试工具及环境:使用特定脚本在 DigitalOcean droplet 上进行,单线程和多线程测试,运行 100k 读写操作并取平均值。
各数据存储性能:
- 单线程:Redis 稍快于 Memcached,Valkey 和 DiceDB 性能相近且 Valkey 稍优,DragonflyDB 较慢被排除,SolidCache on PostgreSQL 读慢写最慢,调优后性能提升,SolidCache with sqlite3 读写性能改善,litecache with sqlite3 读写最快。
- 多线程:Redis 等性能类似单线程且写操作有提升,SolidCache with PostgreSQL 最慢,调优后写性能改善,SolidCache with SQLite3 性能与 Redis 替代品相当且比调优后的 PostgreSQL 快一倍,LiteCache with SQLite3 写操作更优且读写均比 Redis 快 4 倍。
- 结论:替代品通过 Rails APIs 未充分发挥优势,性能类似 Redis;SolidCache with PostgreSQL 依赖少但慢,调优后写性能提升;SolidCache with SQLite3 在多线程测试中表现出色;LiteCache with SQLite3 最快但不推荐用于生产,因不支持 Rails 8 且附带其他包。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。