Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die SHM-Kommunikationsfunktion für Shared-Memory-Prozesse

PHP implementiert die SHM-Kommunikationsfunktion für Shared-Memory-Prozesse

藏色散人
藏色散人nach vorne
2019-09-29 14:21:163386Durchsuche

Ich habe shmop eingeführt, eine Funktion von PHP zur Implementierung von Shared Memory, und sie wurde auch auf das Projekt angewendet. Shmop hat jedoch Einschränkungen, das heißt, es unterstützt nur String-Typen unterstützt Array-Typen. Es kann direkt gespeichert und abgerufen werden, wodurch unnötige Schritte der Formatkonvertierung entfallen. 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 dient zum Öffnen oder Erstellen eines gemeinsamen Speicherbereichs. Der Parameterschlüssel ist der Schlüssel dieses Teils. Der Parameter memsize kann weggelassen werden und stellt den minimal erforderlichen Speicherplatz dar (Einheit ist Bytegruppe). 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 ist Wird verwendet, um die Verbindung zum 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 ist Wird zum Löschen aller Daten im gemeinsam genutzten Speicherbereich verwendet. 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, gemischte Variable);

Rückgabewert: Ganzzahl

Funktionstyp: Betriebssystem und Umgebung

Inhaltsbeschreibung: Mit dieser Funktion kann der Variablenwert im Speicherplatz erhöht oder geändert werden. 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: Mixed shm_get_var(int shm_identifier, int variable_key);

Rückgabewert: Gemischte Datentypen

Funktionstyp: Betriebssystem und Umgebung

Inhalt Beschreibung: Mit dieser Funktion kann der im Speicherplatz angegebene Variablenwert abgerufen werden. 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

Entfernt die angegebene Variable aus dem Speicherplatz.

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 im Speicherplatz gelöscht werden. Der Parameter shm_identifier ist der zu entfernende Shared-Memory-ID-Wert. Der Parameter variable_key ist der zu löschende Variablennamenschlüssel.

Weitere PHP-Kenntnisse finden Sie auf der PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonPHP implementiert die SHM-Kommunikationsfunktion für Shared-Memory-Prozesse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen