Week 07/30/2017 - 08/06/2017 Memcached binary protocol
As part of the effort for re-writing data synchronizer in golang, I started looking at existing memcached libraries in golang. The best one I found is this: https://github.com/rainycape/memcache Compared to the most popular library: https://github.com/bradfitz/gomemcache It utilizes memcached binary protocol to achieve extreme performance. The benchmark result can be found in readme file. I was not aware of the binary protocol for memcached, although I do use it on a daily basis. So I looked it up in the release notes and turns out this is supported as early as 1.4.0 (released in 2009) Going through our tech stack where memcached is used, none of the accessors are using binary protocol at all. A seems-like-easy win is to simply replace command based protocol to binary protocol for all components of the game. Started looking into that immediately and ran into a big blocker. Php code base uses Memcache extension instead of Memcached extesnion, and only the latter suppo...