Heim > 类库下载 > 其它类库 > PHP Redis: Hash-Hash-Typ

PHP Redis: Hash-Hash-Typ

高洛峰
Freigeben: 2016-10-20 14:04:04
Original
2692 Leute haben es durchsucht

3. Hash-Hash-Typ

Einführung

Hash-Hash ähnelt einer kleinen Redis-Datenbank

Ein Hash kann mehrere Schlüssel-Wert-Paare enthalten

Jeder Schlüssel des Hashs kann nicht wiederholt werden, ist unterschiedlich und ungeordnet angeordnet

Der Wert kann eine Zeichenfolge oder ein numerischer Wert sein

Bei numerischen Werten kann die automatische Inkrementierung erfolgen ausgeführt werden Oder Dekrementierungsvorgang

Hash-Struktur

In der folgenden Struktur stellt user den Schlüsselnamen dar, der mehrere verschiedene Schlüssel-Wert-Paare enthalten kann

[
    "user":[
        "name1":"yanying1",
        "name2":"yanying2",
        "name3":"yanying3"
    ]
]
Nach dem Login kopieren

Operationsmethode

PHP Redis: Hash-Hash-Typ

Demo (Befehlszeilen-PHP-Demo)

Befehlszeile:

Zuerst fügen wir dem Hash ein Schlüssel-Wert-Paar hinzu. Bei Erfolg geben Sie 1 zurück. Wenn der Schlüssel bereits vorhanden ist, geben Sie 0 zurück.

hset hash-key sub-key1 value1 // 返回 1
Nach dem Login kopieren

Wir fügen ein weiteres Schlüssel-Wert-Paar hinzu, das nicht existiert.

hset hash-key sub-key2 value2 // 返回 1
Nach dem Login kopieren

Zu diesem Zeitpunkt ist der Schlüssel bereits vorhanden existiert im Hash sub-key1 und sub-key2, als nächstes fügen wir den gleichen Schlüssel sub-key1 zum Hash hinzu und sehen, was passiert:

hset hash-key sub-key1 value1 // 返回 0,由于该键已经存在
Nach dem Login kopieren

Als nächstes erhalten wir einen bestimmten Schlüssel sub durch hget -Der Wert von Schlüssel1.

hget hash-key sub-key1 // "value1"
Nach dem Login kopieren

Wert erfolgreich erhalten. Lassen Sie uns alle hinzugefügten Elemente abrufen, um zu sehen, welche Werte

hgetall hash-key
Nach dem Login kopieren
Nach dem Login kopieren

gerade hinzugefügt wurden. Die Ergebnisse sind wie folgt. Wir haben herausgefunden, dass das erste Ergebnis der Schlüssel des ersten Schlüssel-Wert-Paares ist, das zweite Ergebnis der Wert des Schlüssel-Wert-Paares und so weiter, wobei jeweils zwei eine Gruppe darstellen.

"sub-key1""value1""sub-key2""value2"
Nach dem Login kopieren

Versuchen wir, einen Schlüssel zu löschen. Wir werden feststellen, dass beim Löschen 1 zurückgegeben wird, wenn der Schlüssel zuvor im Hash vorhanden war, andernfalls wird 0 zurückgegeben

hdel hash-key sub-key1 // 该键之前存在于散列,返回1
Nach dem Login kopieren

Wir versuchen erneut, Unterschlüssel1 zu löschen und stellen fest, dass das Ergebnis beim Löschen eines nicht vorhandenen Schlüssels 0 ist

hdel hash-key sub-key1
Nach dem Login kopieren

Wir rufen alle Schlüssel-Wert-Paare erneut ab, um zu sehen, was übrig bleibt.

hgetall hash-key
Nach dem Login kopieren
Nach dem Login kopieren

Das Ergebnis ist, dass es zwei Ergebnisse weniger gibt. Immerhin wurde gerade ein Schlüssel-Wert-Paar gelöscht

"sub-key1""value1"
Nach dem Login kopieren

PHP-Versionsdemonstration

Schritt Erstens, Redis-Datenbank verknüpfen

$redis = new Redis();$redis->connect('127.0.0.1', 6379);
Nach dem Login kopieren

Wir fügen zunächst ein Schlüssel-Wert-Paar in den Hash-Schlüssel-Hash ein. 1 bedeutet, dass das Einfügen erfolgreich war; 0 Element bedeutet, dass es bereits vorhanden ist

$redis->hset('hash-key','sub-key1','value1'); // int 1,元素插入成功,之前不存在该键
Nach dem Login kopieren

Wir fügen das gleiche Schlüssel-Wert-Paar erneut ein

$redis->hset('hash-key','sub-key1','value1'); // int 0,元素插入失败,该键已经存在
Nach dem Login kopieren

Für die folgende Demonstration fügen wir weiterhin einige ein andere Werte

$redis->hset('hash-key','sub-key2','value2'); // int 0
Nach dem Login kopieren

Als nächstes verwenden wir hget, um den dem Schlüssel entsprechenden Wert zu erhalten. Versuchen wir, den Wert von Unterschlüssel2 zu ermitteln.

$redis->hget('hash-key','sub-key2'); // 'value2'
Nach dem Login kopieren

Nachdem wir einen erhalten haben, versuchen wir, mit hgetall alle gerade eingefügten Werte abzurufen, um zu sehen, welche Schlüssel-Wert-Paare enthalten sind

$redis->hgetall('hash-key');
Nach dem Login kopieren
Nach dem Login kopieren

Das Ergebnis ist ein vollständiges Schlüssel-Wert-Array

array (size=2)  'sub-key1' => string 'value1' (length=6)  'sub-key2' => string 'value2' (length=6)
Nach dem Login kopieren

Nachdem wir alle Schlüssel-Wert-Paare angezeigt haben, versuchen wir, einen der Schlüssel zu löschen. Wenn der Schlüssel zuvor im Hash vorhanden ist, wird 1 zurückgegeben. Andernfalls wird 0 zurückgegeben. Fehler

$redis->hdel('hash-key','sub-key1'); // 该键之前存在,返回int 1
Nach dem Login kopieren

Als nächstes verwenden wir hgetall, um alle im Hash verbleibenden Schlüssel-Wert-Paare zu überprüfen

und stellen Sie fest, dass nur ein Array zurückgegeben wird, das ein Schlüssel-Wert-Paar enthält.
$redis->hdel('hash-key','sub-key1'); // 该键不存在,返回int 0
Nach dem Login kopieren

Der Grund ist, dass Unterschlüssel1 gerade gelöscht wurde
$redis->hgetall('hash-key');
Nach dem Login kopieren
Nach dem Login kopieren

array (size=1)  'sub-key2' => string 'value2' (length=6)
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage