Mmmm... can help something like the following below? Client(Request=Normal URL) -> ATS(Lua) -> NoSQL (PUT: key=hash,value=url object) -> Origin Client <- ATS(Cache) <- Origin
Client(Request=HASH Cache) -> ATS(Lua) -> NoSQL (GET: url object) -> ATS(Cache) Client <- ATS(Cache) You can use an in-memory or persistent NoSQL and set an expire timeout in the stored records. That's just an idea.