Use both. Check memcache. If a session is present, proceed. If not, check the datastore.
This is exactly how sessions are implemented in the Java runtime, and this is generally the way to use memcache.
I'm looking into building a web app in golang to deploy to google app engine, but I'm not sure whether to use the memcache store or the datastore from this sessions package. Is there a rule of thumb as to when to use each type of store? I understand the main pros and cons, the datastore data will always be there but is much slower to access and the memcache data is much faster to access but may not always be there. So are there any situations or types of application that would use one type of session store from the other?