Using a Key-Value DB to store relational data eh - that never leads to problems.
Their solution isn't any better because the API does not guarantee a particular order or atomicity of key expiration - so great that it works for you now[1], but next version may change the behavior.
[1] Does it work though? Are you really really sure?