Yes, performance and correctness are actually both reasons. The code path for disk first writes the data to disk and then has to read and deserialize it from there, which is slow. Also, if you used the memory store in the same way, the store might drop it before you have a chance to call get(). See my comments on the main discussion.