Rethinking Key-Value Cache Compression Techniques for Large Language Model Serving