この記事では、Redis に関する関連知識を提供します。主に、文字列型、ハッシュ型、リスト型、コレクション型、Orderly コレクションなどのデータ型に関する関連問題を紹介します。見てみましょう。皆様のお役に立てれば幸いです。
推奨学習: Redis ビデオ チュートリアル
1. Redis の 5 つのデータ型
redis は、高度な Key-Value ストレージ システム。値は 5 つのデータ型をサポートします:
Redis でサポートされるキー値データ型 |
string文字列型 |
#ハッシュ テーブル タイプ |
list リスト タイプ |
##set コレクション タイプ |
zset 順序付きセット タイプ |
キーの定義に関しては、次の点に注意してください。
- キー名が長すぎることはお勧めできません。通常は 1024 以内です。 、長すぎるとクエリの速度に影響します。
短すぎると可読性が低下するため、お勧めできません。 - 一般に、企業には統一された命名基準があります。
-
- 2. 文字列型 string
2.1 概要
文字列型は Redis における最も基本的なデータ保存型であり、Redis ではバイナリで保存されます。エンコードとデコードのプロセスはありません。格納される型が文字列、整数、浮動小数点型のいずれであるかに関係なく、文字列として書き込まれます。 Redis では、文字列型 Value が保持できる最大データ長は 512M です。これは、将来的に最も一般的に使用されるデータ型です。
# 2.2 共通コマンド
##コマンド## #########################行動####################### # set key value
|
Redis データベースのキーと文字列型の値の場合は、追加が成功したことを示す OK を返します。同じ名前を持つものは |
#get key
を置き換えます。 ##データベースから指定したキーの値を取り出し、戻り値がある場合はnilを返す |
del key
|
指定されたキーと値を削除します。削除に成功した場合は、削除された番号を返します。それ以外の場合は、0
| ##setnx key | value
を返します。 指定されたキーが存在しない場合は、キーに指定された値を設定します。 設定が成功した場合は 1 が返ります。セットアップは失敗し、0 を返します。 |
2.3 コマンドのデモ
要件:
- 会社としてキーを追加します。値は itcastです。
- 次に、キーを会社として設定します。値は heima です。
- company 要素を取得します
- company 要素を削除します
- company を再度削除して戻り値が同じかどうかを確認します
- company を取得して確認します戻り値は何ですか
- キーを job に設定し、値を programmer に設定します。
- job の値を code-farmer に再度設定し、job の値をクエリします。
2.4実行効果
## 3。ハッシュタイプハッシュ3.1概要 redisのハッシュタイプは、文字列キーと文字列を備えたマップコンテナと見なすことができます各ハッシュには 400 億のキーと値のペアを保存できます。
したがって、この型はオブジェクト情報の保存に非常に適しています。ユーザーが名前、パスワード、年齢などの情報を持っている場合、ユーザー名、パスワード、年齢などのキーを持つことができ、その記憶構造は次のとおりです:
3.2 共通コマンド#### #######################注文###################### ##動作
##hset キー フィールドの値 |
指定されたキーにハッシュ型フィールド名と値のペアを追加します hget key |
Field 指定されたキーの指定されたフィールドの値を取得します | |
hmset キー # フィールド値 フィールド値##multiple 、複数のフィールド名と値を一度にキーに設定します
|
|
##hmget
## Key Field field | から複数のフィールドの値を取得します。一度に指定したキー |
#hdel key field field キー内の 1 つ以上のフィールドを削除します
|
##hgetall key |
特定のキーのすべてのフィールド値を取得# 3.3 コマンドのデモ
要件:
ユーザーとしてハッシュ タイプのキーを作成し、値が newboy のフィールドをユーザー名として追加します
フィールドを追加しますユーザーをパスワードとして使用し、値は 12345です。
ユーザーにフィールド年齢を追加します。値は 18
ユーザーのユーザー名、パスワード、年齢のフィールド値をそれぞれ取得します
複数のフィールドと値をユーザーに同時に追加します。誕生日 2018-01-01 性別 男性
複数のフィールドを同時に取得します: 年齢と性別
ユーザーのすべてのフィールドと値を取得します
ユーザーの誕生日とパスワードのフィールドを削除します
4. リストの種類 list
4.1 概要
Redis では、リストtype は、挿入順にソートされた文字列のリンクされたリストです。データ構造内の通常のリンク リストと同様に、その左側と右側の部分に新しい要素を追加できます。挿入中にキーが存在しない場合、Redis はキーの新しいリンク リストを作成し、キーが既に存在する場合はリストに要素を追加します。対照的に、リンクされたリスト内のすべての要素が削除されると、キーもデータベースから削除されます。 List に含めることができる要素の最大数は 40 億です。
# 4.2 共通コマンド
##コマンド## #########################行動####################### # lpush key | element elementleft ボタンの左側を押します。 list 指定されたキーにリスト要素を追加します。キーが存在しない場合、Redis はキーの新しいリンク リストを作成します。キーがすでに存在する場合は、リストに要素を追加します。 |
rpush キー## 要素要素 ##右プッシュはリストの右側の指定されたキーにリスト要素を追加します |
lpop キー |
#left Pop は、指定されたキーの左側から要素をポップし、リスト内の要素を削除します。 rpop key |
| 指定されたキーから右ポップ右側に要素がポップアップすると、リスト内の要素が削除されます。
lrange キー | ## 開始終了 |
指定されたキーのリストから、左から -1 から数えて、指定された範囲の要素のリストを取得します。リスト全体を取得する場合、開始は 0、終了は -1
##llen |
Key |
指定されたリストの長さを取得します 4.3 コマンドのデモ
実行効果
要件:
マイリストのキーのリストに、左の要素から a b c を追加します。
右から 1 つ、2 つ、3 つの要素を追加します
すべての要素をクエリします
繰り返し要素を右から 3# に追加します
##右端の要素 3 を削除します。
左端の要素 c を削除します。#リスト内の要素を取得します。
5. Set 型 set 5.1 概要Redis では、Set 型をソートされていない文字のコレクションとみなすことができます。 List 型と同様に、この型のデータ値に対して追加、削除、要素が存在するかどうかの判断などの操作を実行することもできます。 Set に含めることができる要素の最大数は 40 億です。List 型とは異なり、Set コレクションでは重複した要素は許可されません。
# 5.2 共通コマンド
##コマンド## #########################行動####################### # s##キーを追加 |
要素要素1 つ以上の要素をセット コレクションに追加します |
smembers#キー指定されたコレクション内のすべての要素をクエリします |
| sismember
Key Element | 指定された要素かどうかを判断しますは特定のコレクション内にあります。存在する場合は 1 を返し、存在しない場合は 0 |
#srem を返します。 Key Element Element remove 指定した要素を削除します |
|
s ユニオン キー 1 キー 2 指定されたセットの和集合を返します。存在しないセットキーは空のセットとみなされます。 |
|
5.3 コマンドのデモ
要件:
6 つの要素 A B C 1 2 3 を myset コレクションに追加します
B 要素を myset に追加して、追加できるかどうかを確認します成功
すべてのメンバーを表示し、要素の順序が追加された要素の順序と異なることがわかります。要素は順序付けされていません
C 要素を削除し、結果を再度確認してください
A が myset セット内にあるかどうかを判断します
D が myset セット内にあるかどうかを判断します
キー set1 でセットを作成します: 要素は a b c
セットを作成しますキー set2 : 要素は a b d
set1 と set2 の和集合を取得し、
#6 を表示します。順序付きセット zset
6.1 概要
Redis の順序付きコレクション (セットなど) は順序付けされておらず、繰り返すことはできません。
違いは、各要素がスコアに関連付けられていることです。 Redis はスコアを使用して、コレクションのメンバーを小さいものから大きいものまで並べ替えます。順序付きセットのメンバーは一意ですが、スコアは繰り返すことができ、各セットには 40 億を超えるメンバーを保存できます。
# 6.2 共通コマンド
##コマンド## #########################行動####################### # zadd key |
スコア値 スコア値 順序付きセットに追加1 つ以上のメンバー
|
##zrange key 開始インデックス終了インデックス #インデックス範囲を介して順序付きセット内の指定された範囲内のメンバーを返します |
|
zrem Key Value順序付きセットから 1 つ以上のメンバーを削除 |
|
#zrank キー
# 値 #順序付けされたセット内の指定されたメンバーのインデックスを返します |
zcard key |
##順序付けられたセットのメンバーの数を取得します##zscore キー |
Value
|
指定されたメンバーのスコアを取得します ## 6.3 コマンドのデモ
| キーとなる国を追加します。スコアは 10、値は日本です。キーとなる国を追加します。スコアは 5、値は USAです。 | キーとなる国を追加します。スコアは次のとおりです。 1、値は China 、スコアは 120、値は Koreaです
国のすべての要素をクエリします日本のインデックス番号をクエリします (0 から始まります)値 USA の要素を削除する国に存在する要素の数をクエリする 6.4 効果 |
推奨される学習: Redisビデオチュートリアル
|
|
|
|
以上がRedis の 5 つのデータ型の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。