検索
ホームページ类库下载その他の図書館PHP+Redis: ハッシュ ハッシュ型

3. ハッシュの種類

概要

ハッシュは小規模な Redis データベースに似ています

ハッシュには複数のキーと値のペアを含めることができます

ハッシュの各キーは繰り返すことができず、順序付けされていないものでも構いません

。文字列または数値です

数値の場合、インクリメントまたはデクリメント操作を実行できます

ハッシュ構造

以下の構造では、ユーザーはキー名を表し、複数の異なるキーと値のペアを含めることができます

[
    "user":[
        "name1":"yanying1",
        "name2":"yanying2",
        "name3":"yanying3"
    ]
]

ハウツー

PHP+Redis: ハッシュ ハッシュ型

デモ (コマンドライン + PHP デモ)

コマンドライン:

まず、キーと値のペアをハッシュに追加します。成功した場合は 1 を返し、キーが既に存在する場合は 0 を返します

hset hash-key sub-key1 value1 // 返回 1

存在しないキーと値のペアを追加します

hset hash-key sub-key2 value2 // 返回 1

この時点で、キー sub-key1 と sub-key2 は既にハッシュに存在します。次に、「同一のキー sub-key1 をハッシュに追加」を追加して、何が起こるかを確認します。

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

以下では、hget を通じて指定されたキー sub-key1 の値を取得します。

hget hash-key sub-key1 // "value1"

値の取得に成功しました。追加されたすべての要素を取得して、どの値が追加されたのかを確認してみましょう

hgetall hash-key

結果は次のとおりです。最初の結果は最初のキーと値のペアのキー、2 番目の結果はキーと値のペアの値というように、2 つごとが 1 つのグループであることがわかりました。

"sub-key1""value1""sub-key2""value2"

キーを削除してみます。キーが以前にハッシュに存在していた場合は 1 が返されることがわかります。それ以外の場合は 0 が返されます。

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

もう一度 sub-key1 を削除してみます。 , 存在しないキーを削除すると、返される結果は 0 であることがわかります

hdel hash-key sub-key1

何が残っているかを確認するために、すべてのキーと値のペアを再度取得します。

hgetall hash-key

結果は、キーと値のペアが削除されたばかりです

"sub-key1""value1"

PHP バージョンのデモ

最初のステップは、Redis データベースをリンクすることです

$redis = new Redis();$redis->connect('127.0.0.1', 6379);

最初にキーを挿入します。 -値のペアをハッシュキーハッシュに変換します。 1 は挿入が成功したことを意味し、0 の要素はすでに存在していることを意味します

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

同じキーと値のペアを再度挿入します

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

次のデモでは、引き続き他の値を挿入します

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

今度は hget を使用してキーに対応する値。 sub-key2 の値を取得してみます。

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

取得後、hgetall を使用して、挿入したばかりのすべての値を取得して、どのキーと値のペアが含まれているかを確認します

$redis->hgetall('hash-key');

結果は、完全なキー値を含む配列になります

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

すべてのキーの値を表示したら、キーの 1 つを削除してみましょう。キーが以前にハッシュに存在していた場合は 1 を返します。それ以外の場合は 0 を返します

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

sub-key1 キーを再度削除しようとすると、0 が返されることがわかります。これは、キーがセットに存在せず、削除に失敗しました

$redis->hdel('hash-key','sub-key1'); // 该键不存在,返回int 0

次に、hgetall を使用してハッシュ

$redis->hgetall('hash-key');

に残っているすべてのキーと値のペアを確認し、1 つのキーと値のペアを含む配列のみが返されることを確認します。

えー

その理由は、sub-key1 が削除されたばかりだからです


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)