How does prompt caching work for LLMs? It's a token-storage system with its own write and read pricing, its own expiration ...