Why do you need to store the etag itself in cache? It seems like you can calculate the etag so there is no reason to store it.