Stores computation results in Redis as hashSet. Computation fires only
if data absent in cache. Of course, to refresh the data, they must first
remove from the cache.

Computation controls all that will be stored in the cache except two
things: key and prefix for keys and tags. To do this,
with the results of computation, it may return optional TTL in
seconds (Redis convention) and tags for key. About tags see
Database.Redis.Tags.

Instead get all data from cache, optional parameter allows simply make
sure that cache holds HashSet with needed field with needed value. If this
is so, pile return Nothing.