我想知道是否有人在 groupcache 和其他内存缓存工具(如 redis 和 memcached)方面有实际经验,是否知道它们在性能、易用性和其他值得一提的方面进行比较。
我问的原因是因为我有兴趣完全切换到 Go,但我对它没有太多经验,也没有使用 groupcache 的经验。
目前,groupcache 是一个用 Go 编写的库,而 redis 等有许多语言绑定。
groupcache 最初创建的目的是为 Google 的静态文件服务器提供二进制文件 blob。
groupcache 最初由 memcache 的作者 Brad Fitzpatrick 编写。
另请参阅作者在介绍将 dl.google.com 从 C++ 重写为 Go 时提到的 Groupcache。
Groupcache 并不意味着完全替代 Redis 或 Memcached。例如,Groupcache 不支持更新或删除项目。
它对于您想要缓存但不可变的“热门”项目很有用。
另外,与 Redis 相比,它不支持 Redis 支持的任何高级功能,因为它有不同的预期使用场景。
除非你有这样的东西,否则我建议坚持使用 Redis 或 Memcached。
事实上,如果您可以通过遵循一些逻辑来欺骗您的实现,使每个项目不可变(也许可以通过包含时间戳的键来寻址项目?),那么您也许可以解决它,但我想这可能需要太多工作与仅使用其他解决方案相比。
希望这可以帮助。