Ich kenne das Cachen von
DB-Abfragen von einer Shopsoftware. Dabei werden die Ergebnisse in eine (bzw in mehreren) Dateien zwischengespeichert.
Zu deinem Parameter-Problem: ich würde das nicht über einen Parameter steuern. Ich würde der Klasse Cache selbst die Entscheidung überlassen, ob eine bestimmte Abfrage gecached werden soll oder nicht. Du kannst dir ja eine Zeitspanne überlegen, nach der die zwischengespeicherten Informationen verfallen. Das kannst du sogar für jede Abfrage getrennt verwalten.