cachePut func
extract get & set