I think this comment regarding how to implement the cache down the line may be incorrect. My understanding is that you just have to pass the TTL to ->cache() and it creates a key based on the query itself (https://internal.wikia-inc.com/wiki/Fluent_SQL#Fluent_SQL). That is, unless this query is something which is going to be used across wikis (https://internal.wikia-inc.com/wiki/Fluent_SQL#Shared_Memcache_Keys)