Redis の 5 つの一般的なデータ型と関連する操作上の注意事項

Redis の 5 つの一般的なデータ型と関連する操作上の注意事項

1 Redis キー (キー)

(1)キー * 現在のライブラリ内のすべてのキーを表示

(2) exists [key] キーの有無を判定、1を返す、存在しないを返す

(3)type [key] 鍵の種類を調べる

(4)del [key] 指定したキーデータを削除

(5) Unlink [key] 値に従って非ブロッキング削除を選択します。キーのみがキースペース メタデータから削除され、実際の削除は後続の操作で非同期に実行されます。

(6)expire [key] [time]: 指定されたキーの有効期限を秒単位で設定します

(7) ttl [キー] 期限切れまであと何秒かを確認します。-1 は期限切れにならないことを意味し、-2 は期限切れになったことを意味します。

2弦弦

Redis の文字列型は最も基本的なデータ型です.文字列値は最大 512M です.同時に、文字列はバイナリセーフであり、jpg 画像やシリアル化されたオブジェクトなどの任意のデータを含めることができます.

操作:

(1) set [key] [value]: set k1 name などの set kv

画像-20211011144731620

(2) get [key]: キーに対応する値を取得する

画像-20211011144813377

(3) append [key] [value]: キーに対応する値に値を追加し、同時に長さを返します。キーが存在しない場合は、新しいキーを作成します。

画像-20211011144942354

(4) strlen [key]: 長さを取得する

画像-20211011145103816

(5) setnx [key] [value]: キーが存在しない場合のみキーの値を設定

key1 が存在するため、正常に設定できません

画像-20211011145412074

key2 が存在しません。正常に設定されました

画像-20211011145433099

(6) incr [キー]: キーに格納されているデジタル値を 1 増やし、数字のみを操作できます。

画像-20211011145645507

キーが存在しない場合は、新しいキーを作成し、値を 1 に設定します

画像-20211011145719568

(7) decr [key]: キーに格納されているデジタル値を 1 減らします。

画像-20211011145743593

キーが存在しない場合は、新しいキーを作成し、値を -1 に設定します

画像-20211011145820299

(8) incrby [キー] [ステップ サイズ]: キーに格納されているデジタル値を増やし、ステップ サイズをカスタマイズします。ステップ サイズが 20 の場合、値は 20 増加します

(9) decrby [キー] [ステップ サイズ]: キーに格納されているデジタル値を減らし、ステップ サイズをカスタマイズします。ステップ サイズが 20 の場合、値は 20 減ります

3 リストリスト

リストは、単一のキーと複数の値を持つデータ型で、挿入順に並べ替えられます。リストの先頭または末尾に要素を追加できます。基礎となるレイヤーは、二重にリンクされたリストです。

操作:

(1) lpush/rpush [key] [value1] [value2]...: 左右から1つ以上の値を挿入

画像-20211011195152155

(2)Irange [key] [start] [stop]: インデックスの下の表に従って要素を取得します (左から右へ) 入力された start と stop がそれぞれ 0 と -1 の場合、すべての値を取ることを意味します

画像-20211011195419315

(3) lpop/rpop [key]: 左/右から値をポップアップし、すべての値がポップアップすると、キーは自動的に削除されます

画像-20211011195517596

(4) rpoplpush [key1] [key2]: key1 リストの右側から値を pop し、key2 リストの左側に挿入します。

画像-20211011195733955

(5) lindex [キー] [インデックス]: インデックスの下の表に従って、指定された要素を取得します (左から右へ)。

画像-20211011195804261

(6) linsert [key] before [value] [newvalue]: Insert [newvalue] before [value]

画像-20211011200008482

(7) lrem [key] [n] [value]: 左からn個の値を削除

画像-20211011200033824

(8) lset [key] [index] [value]: index で添え字を付けたリストキーの値を value に置き換える

画像-20211011200105459

4 Redis コレクション セット

Redis のセットもリストの機能に似ていますが、セット内で要素の重複は許可されません.実際には、文字列型はセットを必要とせず、下層のレイヤーはハッシュ テーブルです.追加の複雑さ、削除、検索はO(1)

操作:

(1) sadd [key] [value1] [value2]: キーに 1 つ以上の要素を追加し、自動的に重複排除します

画像-20211011200737962

(2) smembers [キー]: コレクション内のすべての値を表示

画像-20211011200753596

(3) sismember [キー] [値]: 設定されたキーに特定の値が含まれているかどうかを判定し、含まれている場合は 1 を返し、含まれていない場合は 0 を返します。

画像-20211011200835616

(4) scard [キー]: セット内の要素の数を返します

画像-20211011200859899

(5) srem [key] [value1] [value2]: コレクション内の要素を削除

画像-20211011200914762

(6) spop [キー]: コレクションから値をランダムにポップします

画像-20211011201015679

(7) srandmember [key] [n]: セットから n 個の値をランダムに取得し、これらの値をセットから削除しないでください

画像-20211011201050295

(8) move [source] [destination] [value]: コレクション内の値を別のコレクションに移動する

画像-20211011201421546

(9) sinter [key1] [key2]: 2 つの集合の交点を返します

画像-20211011201558700

(10) sunion [key1] [key2]: 2 つの集合の和集合を返します

画像-20211011201616779

(11) sdiff [key1] [key2]: 2 つのセットの差分セットを返します (key1 で、key2 を含まない)

画像-20211011201632139

5 Redis ハッシュ ハッシュ

Redis の Hash は文字列型のフィールドと値のマッピング テーブルであり、Java の Map<String, Object> と同様に、オブジェクトを格納するのに適しています. 基になるフィールド値の長さが短く、数が少ない場合に使用します. ziplist (圧縮リスト)、それ以外の場合は hashtable (ハッシュ テーブル) を使用

操作:

(1) hset [キー] [フィールド] [値]: キーセット内のフィールドキーに値を割り当てます

画像-20211011203250489

(2) hget [キー] [フィールド]: key1 コレクション フィールドから値を取得します。

画像-20211011203318971

(3) hmset [key1] [field1] [value1] [field2] [value2]: ハッシュ値を一括で設定 (新バージョンhsetでもこの機能を実装可能)

画像-20211011203401641

(4) hexists [key1] [field]: 指定されたフィールド field がハッシュテーブル key に存在するかどうかを確認します

画像-20211011203453362

(5) hkeys [キー]: ハッシュ セットのすべてのフィールドを一覧表示します

画像-20211011203514471

(6) hvals [キー]: ハッシュセットのすべての値を一覧表示

画像-20211011203526640

(7) hincrby [キー] [フィールド] [インクリメント]: ハッシュ テーブル キーのフィールド フィールドの値にインクリメントを追加します。

画像-20211011203705135

(8) hsetnx [キー] [フィールド] [値]: ハッシュ テーブル キーのフィールド フィールドの値を値に設定し、フィールド フィールドが存在しない場合にのみ操作が成功します。

画像-20211011203811372

画像-20211011204000283

6 Redis 順序付きコレクション Zset

Zset も繰り返し要素のないコレクションです. set との違いは、Zset の各メンバーがスコアに関連付けられており、セット内のメンバーがスコアに従って低いものから高いものに並べ替えられ、スコアを繰り返すことができることです.
その最下層は 2 つのデータ構造を使用します。

(1) ハッシュテーブルを使用して値とスコアを関連付け、要素の一意性を保証します

(2) ジャンプ テーブル、機能は値をソートし、スコアの値に従って要素のリストを取得することです

(1) zadd [キー] [スコア1] [値1] [スコア2] [値2]: 1つ以上のメンバー要素とその値をキーに追加

画像-20211011204731380

(2) zrange [key] [start] [end] [WITHSCORES]: 次の表の start と end の間の要素を返す. WITHSCORES を持ってくるとスコアをまとめて返すことができる. start と end が 0 と -1 の場合それぞれ、すべての要素を返します

画像-20211011204831112

画像-20211011204852149

(3) zrangebyscore [key] [min] [max] [withscores] [limit offset count]: 最小値と最大値の間 (閉区間) のスコア値を持つすべてのメンバーを返します。スコアは小さいものから大きいものへと並べられ、制限オフセット カウントは次のとおりです。ページネーション

画像-20211011204952952

画像-20211011205014351

(4) zrevrangebyscore [key] [max] [min] [withscores] [limit offset count]: スコア値が min と max の間 (閉区間) であるすべてのメンバーを、スコアの降順に並べて返します。

画像-20211011205143520

(5) zincrby [キー] [インクリメント] [値]: 要素のスコアにインクリメントを追加します

画像-20211011205432322

(6) zrem [キー] [値]: 指定した値の要素を削除

画像-20211011205458082(7) zcount [key] [min] [max]: 統計区間 (閉区間) の要素数

画像-20211011205522605

(8) zrank [キー] [値]: コレクション内の指定された値のランクを 0 から返します。

画像-20211011205604287

おすすめ

転載: blog.csdn.net/weixin_42195126/article/details/120711645