Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die Kommunikationsfunktion für gemeinsam genutzte Speicherprozesse (_shm).

PHP implementiert die Kommunikationsfunktion für gemeinsam genutzte Speicherprozesse (_shm).

不言
不言Original
2018-07-06 15:34:491600Durchsuche

Dieser Artikel stellt hauptsächlich die Implementierung der Shared-Memory-Prozesskommunikationsfunktion (_shm) in PHP vor. Jetzt kann ich ihn mit Ihnen teilen.

Die PHP-Implementierung Shmop, eine Funktion des gemeinsam genutzten Speichers, wurde ebenfalls auf das Projekt angewendet. Nach meinen Tests unterstützt es jedoch nur String-Typen und unterstützt Array-Typen können direkt gespeichert und abgerufen werden. Überflüssige Schritte zur Formatkonvertierung wurden entfernt. SEM hat jedoch eine Größenbeschränkung und Shmop kann auf eine sehr große Größe eingestellt werden. Sie können jedoch auch die entsprechende Konfiguration in php.ini ändern.

<?php
$key = 0x4337b124;  
$shar_key = 1;
// 创建一个共享内存
$shm_id = shm_attach($key, 1024, 0666); // resource type
if ($shm_id === false) {
    die(&#39;Unable to create the shared memory segment&#39; . PHP_EOL);
}
//设置一个值
shm_put_var($shm_id, $shar_key, &#39;test&#39;);

//删除一个key
shm_remove_var($shm_id, $shar_key);

//获取一个值
$value = shm_get_var($shm_id,  $shar_key);
var_dump($value);

//检测一个key是否存在
var_dump(shm_has_var($shm_id,  $shar_key));

//从系统中移除
shm_remove($shm_id);

//关闭和共享内存的连接
shm_detach($shm_id);

Hinweis: $shar_key kann nur ein Parameter vom Typ int sein.

Detaillierte Beschreibung

shm_attach
Öffnen Sie die Erstellung eines gemeinsamen Speicherbereichs.
Syntax: int shm_attach(int key, int [memsize], int [perm]);
Rückgabewert: Ganzzahl
Funktionstyp: Betriebssystem und Umgebung
Inhaltsbeschreibung: Diese Funktion wird verwendet, um Öffnen Oder erstellen Sie einen gemeinsamen Speicherbereich. Der Parameterschlüssel ist der Schlüssel dieses Teils. Der Parameter memsize kann weggelassen werden und stellt den minimal erforderlichen Speicherplatz dar (Einheit ist Byte-Gruppe). Der Standardwert ist in php3.ini oder sysvshm.init_mem in php.ini konfiguriert. Der Parameter perm kann auch weggelassen werden, um die Nutzungsrechte dieses Speicherplatzes zu bestimmen. Der Standardwert ist 666. Der Rückgabewert ist der ID-Wert des gemeinsam genutzten Speichers, der vom Programm verwendet werden kann.

shm_detach
Brechen Sie die Verknüpfung des gemeinsam genutzten Speicherbereichs ab.
Syntax: int shm_detach(int shm_identifier);
Rückgabewert: Ganzzahl
Funktionstyp: Betriebssystem und Umgebung
Inhaltsbeschreibung: Diese Funktion wird verwendet, um die Verknüpfung mit dem gemeinsam genutzten Speicherbereich zu beenden. Der Parameter shm_identifier ist der Shared-Memory-ID-Wert des zu stoppenden Teils.

shm_remove
Speicherplatz löschen.
Syntax: int shm_remove(int shm_identifier);
Rückgabewert: Ganzzahl
Funktionstyp: Betriebssystem und Umgebung
Inhaltsbeschreibung: Diese Funktion wird verwendet, um alle Daten im gemeinsam genutzten Speicherbereich zu löschen. Der Parameter shm_identifier ist der Shared-Memory-ID-Wert des zu stoppenden Teils.

shm_put_var
Variablen im Speicherbereich hinzufügen oder aktualisieren.
Syntax: int shm_put_var(int shm_identifier, int variable_key, Mixed Variable);
Rückgabewert: Ganzzahl
Funktionstyp: Betriebssystem und Umgebung
Inhaltsbeschreibung: Diese Funktion kann zum Erhöhen oder Ändern verwendet werden der Wert der Speicherplatzvariable. Der Parameter shm_identifier ist der ID-Wert des gemeinsam genutzten Speichers, der hinzugefügt und geändert werden soll. Der Parameter variable_key ist der Variablennamenschlüssel, der hinzugefügt und geändert werden soll. Die Parametervariable ist der Inhalt der Variablen. Der Typ der Variablen kann ein Double, eine Ganzzahl, ein String oder ein Array sein.

shm_get_var
Rufen Sie die im Speicherbereich angegebene Variable ab.
Syntax: gemischt shm_get_var(int shm_identifier, int variable_key);
Rückgabewert: gemischte Datentypen
Funktionstyp: Betriebssystem und Umgebung
Inhaltsbeschreibung: Mit dieser Funktion kann der angegebene Wert abgerufen werden im Speicherplatz Variablenwert. Der Parameter shm_identifier ist der abzurufende Shared-Memory-ID-Wert. Der Parameter variable_key ist der abzurufende Variablennamenschlüssel. Der Rückgabewert ist der Wert des angegebenen Variablenschlüssels.

shm_remove_var
Löscht die angegebene Variable im Speicherbereich.
Syntax: int shm_remove_var(int id, int variable_key);
Rückgabewert: Ganzzahl
Funktionstyp: Betriebssystem und Umgebung
Inhaltsbeschreibung: Mit dieser Funktion kann der angegebene Variablenwert gelöscht werden der Speicherplatz. Der Parameter shm_identifier ist der zu entfernende Shared-Memory-ID-Wert. Der Parameter variable_key ist der zu löschende Variablennamenschlüssel.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

PHP-Code automatische Erkennung (git/svn integrierter PHP_CodeSniffer)

PHP-Erweiterung Redis kompilieren und installieren und Swoole-Methode

Das obige ist der detaillierte Inhalt vonPHP implementiert die Kommunikationsfunktion für gemeinsam genutzte Speicherprozesse (_shm).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn