Wie funktioniert der Algorithmus des Konsistenten Hashings? Warum ist er bei der Gestaltung eines verteilten Cache-Clusters notwendig, zum Beispiel mit 20 Redis-Servern, und wie minimiert er die Anzahl der Schlüssel, die beim Hinzufügen oder Entfernen eines Knotens verschoben werden müssen?