We are now, simply, Redis
At the Game Developers Conference (GDC) four months back, I had great discussions with game developers that use Redis – here’re my takes from that event. And this week, I was pleased to check out GDC Europe and at Gamescom. While GDC’s European version is significantly smaller than its American equivalent, it was still a lot of fun meeting and conversing with developers. Gamescom is, well, gamescom (see photo of yours truly).
Interestingly, and similarly to my previous GDC experience, I found out about more common use cases for Redis. Leaderboards, sessions and profiles are naturally still the top functions for which game developers use Redis, but a few more kept popping up insistingly…
Whenever your free-but-ad-supported game presents you with a 15-second trailer, you can be almost certain that there’s a Redis server involved (and probably more than one). This “fact” is hardly surprising considering the volume of requests and tight latency budgets ad networks are working with/against. An ad server is all about speed, and Redis fits that bill perfectly. Counting impressions? Check. What about clicks? Of course. Need your campaign metrics snappy? Done. Want to keep your viewers’ segments handy? No problem. And these are just the basics of ad serving. More often than not, once Redis is a part of the ad network’s stack, it is put to extensive use to support the unique focus and strengths of each network.
Redis can be extended via Lua scripts or, as an open source project, forked and modified freely. This flexibility and openness appeals to a lot of developers, but perhaps even more so to the creative members of the entertainment industry. Some developers I met had implemented the entire player matching mechanism of their multi-player online game using a clever combination of Lua scripts, sorted sets and lists. I found out another game’s servers are using a modified fork that includes “optimizations to almost all commands to better fit our use cases” (stay tuned for more on that – I’m hoping to get more details). I also got a tip about a persistence to Big Data store patch that is supposed to be open sourced in the near future.
It is really amazing to see Redis all over the place, but personally I think the fact it is used so extensively with games is awesome. I really need to get into my Bowser costume now, but feel free to email or tweet me – I’m highly available 🙂