Changes on Disk and Memory cache

Using SHA-1 algorithm to avoid key collisions. Using lazy initialization singleton pattern.