@lakshmi-kannan pointed out that there were two concerns here and only one of them are addressed:
1. not caching the key that is asked for (this is addressed)
2. cache misses will call `databaseLoad` successively causing the cache to be loaded over and over (this does not appear to be addressed).