Replace private cache, by python shelve.
No need to pickle the shelve value.