Cache framework