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

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

Oct 20, 2016 pm 02:04 PM

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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