Was ist die Kompression in der PHP-Memcache?
Auf PHP.net ich freue mich auf die Memcache::set Funktion und es hat das optionale flag zu verwenden Kompression...
Verwenden MEMCACHE_COMPRESSED zu speichern
Element komprimiert (mit zlib).
$memcache_obj->set('var_key',
'some really big variable',
MEMCACHE_COMPRESSED,
50);
Ich bin neugierig, was wäre der Vorteil davon, nur mit weniger Platz? Es scheint so, das würde den Prozess verlangsamen?
- Es würde weniger Platz im memcache und nehmen weniger Zeit für die übertragung über das Netzwerk. Aber Sie hinzufügen, Komprimierungs-und dekomprimierungs-overhead. Auch führen Sie das Risiko der Unverträglichkeit mit anderen memcache Kunden, und Dinge wie die memcache-Inkrement-Befehl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Komprimieren und Dekomprimieren auf den Servern, auf denen PHP kann schnell sein-je nach Ihrem Netzwerk und die Last auf Ihren Servern, kann es schneller sein als die übertragung von mehr (nicht komprimiert) Daten zu und von den memcached-Servern über das Netzwerk.
Komprimierung von Daten bedeutet auch mit weniger Speicher auf den memcached-Servern.
Wie oft haben Sie die Wahl zwischen CPU -, Netzwerk-und RAM-und Sie haben zu berücksichtigen, Ihre Server-und Netzwerk -, deren Last und der verfügbaren Ressourcen, um in der Lage zu entscheiden.
Was wird das "quickiest" - Lösung in Ihrer speziellen situation ? Nur Sie erzählen kann... Und der einzige Weg zu wissen, ist wohl mit einem Test der beiden Lösungen in der "realen Bedingungen".
Auch, memcached-Einträge darf nicht größer sein als 1 MB ; ich nehme an, in gewisser Weise, dass Kompression helfen kann, die Einträge ein bisschen größer als 1 MB (wenn Sie nicht komprimiert noch) in memcached.
Du hast Recht, es ist ein trade-off zwischen nehmen weniger Platz oder frisst mehr CPU-Zyklen.
Haben Sie zu entscheiden, welche Ressource ist wertvoller für Sie, RAM oder CPU.