Memcache ist ein kostenloses, leistungsstarkes, verteiltes Speicherobjekt-Caching-System. Dieses System kann die Zugriffsgeschwindigkeit von Websites verbessern, insbesondere für einige große Websites, die häufigen Zugriff auf Datenbanken erfordern ist sehr bedeutsam.
Warum Memcache verwenden?
wird hauptsächlich in dynamischen Webanwendungen verwendet, um die Belastung der Datenbank zu reduzieren.
Es reduziert die Anzahl der Datenbanklesevorgänge, indem Daten und Objekte im Speicher zwischengespeichert werden,
und erhöht dadurch die Geschwindigkeit des Website-Zugriffs.
Das Implementierungsprinzip von Memcache
Die von Memcache verarbeiteten Atome sind jeweils Schlüssel und Wert. Der Schlüssel wird über eine Hash-Tabelle in einen Hash-Schlüssel umgewandelt bequem für Suche, Vergleich und Hashing möglich. Gleichzeitig verwendet mem einen zweistufigen Hash, der über eine Hash-Tabelle verwaltet wird.
Memcache besteht aus zwei Kernkomponenten: Server und Client
Bei einer Memcache-Komponentenabfrage ermittelt der Client zunächst den Standort von kv auf der Dienstseite anhand des Hash-Werts des Schlüssels beim Server Seite bestimmt Anschließend sendet der Client eine Anfrage an den Server. Lassen Sie es die genauen Daten herausfinden, da es keine Interaktion und kein Multicast-Protokoll gibt, sodass Mem nur minimale Auswirkungen auf das Netzwerk hat.
Memcache-Funktionen und -Einschränkungen
in Es gibt Die Menge der Artikeldaten, die in Memcached gespeichert werden können, ist unbegrenzt, solange genügend Speicher vorhanden ist.
Ein zwischengespeicherter einzelner Prozess kann in einem 32-Bit-System bis zu 2 GB Speicher verwenden. In einem 64-Bit-System gibt es keine Begrenzung. Dies liegt daran, dass das 32-Bit-System einen einzelnen Prozess begrenzt Um bis zu 2 GB Speicher zu nutzen, können mehrere Memcached-Prozesse auf mehreren Ports geöffnet werden.
Maximale Datenablaufzeit von 30 Tagen. Konstante REALTIME_MAXDELTA
60*60*24* 30-Steuerung
Die maximale Schlüssellänge beträgt 250 Bytes. Wenn sie größer als diese Länge ist, kann sie nicht gespeichert werden. Konstante KEY_MAX_LENGTH 250-Steuerung
Die maximale Datenmenge für ein einzelnes Element beträgt 1 MB. Daten, die 1 MB überschreiten, werden nicht gespeichert. Konstante POWER_BLOCK 1048576 Steuerung,
Dies ist die Standardplattengröße
Die maximale Anzahl gleichzeitiger Verbindungen ist 200, gesteuert durch freetotal in conn_init(), die maximale Anzahl weicher Verbindungen beträgt 1024, über
Settings.maxconns=1024 zur Steuerung
Parameter im Zusammenhang mit der Platzbelegung: Settings.factor= 1.25, Settings.chunk_size=48, wirkt sich auf die Slab-Datenbelegung und die Stepping-Methode aus.
memcached ist ein nicht blockierender Socket-Kommunikationsdienst, der auf der libevent-Bibliothek basiert. Aufgrund der nicht blockierenden Kommunikation beträgt die Lese- und Schreibgeschwindigkeit des Speichers sehr schnell.
Memcached ist in Server und Clients unterteilt und wird häufig in verteilten Diensten verwendet.
Memcached ist als kleine Datenverteilungsplattform sehr effektiv.
Memcached hat eine Eins-zu-Eins-Entsprechung zwischen Schlüsseln und Werten. Die Standardwertgröße beträgt 1 MB, was einer Platte entspricht, wenn Sie 2 MB Werte speichern möchten (kontinuierlich), Sie können nicht zwei Platten verwenden, da die beiden Platten nicht kontinuierlich sind und nicht im Speicher gespeichert werden können. Wenn mehrere Schlüssel und Werte gespeichert werden, muss die Größe der Platten geändert werden nicht vollständig ausgenutzt, weitere Daten werden nicht gespeichert.
memcached kann bereits Sprachclients wie C/C++, Perl, PHP, Python, Ruby, Java, C#, Postgres, Chicken Scheme, Lua, MySQL und Protocol unterstützen.
Empfohlenes Tutorial: „PHP“
Das obige ist der detaillierte Inhalt vonWas bedeutet Memcache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!