You must first implement a common cache level for API calls. Inside the caching layer, you can change the strategy you want to use. If you see that memcache is not suitable, you can actually switch (and / or check how it works compared to other backends).
Even better, you can easily copy this assembly to the file system (which also has several backends), without the hindrance to rely on another daemon, so let's start with caching - maybe the file system is already enough for your caching needs?
hakre source share