Is caching logic available from a Script API?

I'd like to be able to get/set a cached value for a user, preferably with a configurable TTL.  Is there a way to do this from a Widget - either with Velocity or JavaScript?

(pseudo-code e.g.)

var accessToken = someApi.userCache.get("remote.service.access.token", null);

if (accessToken == null) {
 accessToken = generateAccessToken(currentUser);
 someApi.userCache.set("remote.service.access.token", accessToken, timespan(30, "minutes"));
}