Redis統合-クイック・スタート
5023 ワード
Redis統合-クイック・スタート Redis概要 Redis持続化 RDB永続化: AOF持続化: Redisデータ構造操作コマンド stringタイプ hashタイプ listタイプ setタイプ zsetタイプ 接続コマンド キーコマンド Redis構築主従 Redis構築クラスタ Redisの概要
Redisは非関係型データベース(NoSQL)であり、SQL構文はサポートされず、独自のapiと構文があり、メモリベースの高性能key-value型データベースであり、データの持続化をサポートし、メモリ内のデータをディスクに保存し、再起動時にロードし、プライマリ・スレーブ・モードをサポートする.
Redis持続化
RDB永続化とAOF永続化の2つの永続化方式があります.
RDB持続化:
現在のメモリのデータセットのタイミングスナップショットをディスクに書き込む
利点:1.バックアップとディザスタリカバリが容易(dump.rdbファイル); 2.redisメインプロセスforkは、永続化作業を完了するためにサブプロセスを生成する. 3.AOFよりも大量のデータセットのリカバリが高速です.
欠点:1.定期的にバックアップを行い、redisが予期せぬdownになった場合、まだディスクに書き込まれていないためデータが失われます. 2.forkのサブプロセスでは、リアルタイムで永続化することはできません.
AOF持続化:
書き込み、削除の各操作をログ形式で記録します(1秒あたりの同期、変更ごとの同期、および非同期の3つの同期ポリシー).
利点:1.データが失われないように保護します. 2.書き込み中にハングアップが発生しても、ログファイルにすでに存在するコンテンツは破壊されません.
欠点:1.大量のデータセットの回復はRDBより遅い. 2.AOFの動作効率はRDBより遅くなることが多い.
Redisデータ構造操作コマンド
Redisはkey-valueとしてデータ格納され、string、hash、list、set、zsetの5つのデータ型をサポートします.
stringタイプ
文字列タイプは、JPEG画像データやJsonオブジェクト記述情報など、任意のフォーマットのデータをサポートできるRedisの中で最も基本的なデータ型であり、最大512 Mのデータ長を格納できる.
キー値の設定:(設定したキーが存在しない場合は追加、設定したキーが存在する場合は変更)
キー値と有効期限を秒単位で設定します.
複数のキー値を設定:
追加値:
キーに基づいて値を取得:(存在しない場合はnilを返します)
複数のキーに基づいて複数の値を取得します.
hashタイプ
オブジェクトを格納するために使用されます.オブジェクトの構造は属性、値、値のタイプはstringです.
個々のプロパティの設定
複数のプロパティの設定
指定したキーのすべてのプロパティを取得
属性の値を取得
複数の属性の値を取得
すべての属性の値を取得
hashのプロパティを取得するには
属性を削除すると、属性に対応する値が一緒に削除されます.
リストタイプ
リストの要素タイプはstringで、挿入順にソートされます.
左にデータを挿入
右側にデータを挿入
指定した要素の前後に新しい要素を挿入
リストで指定した範囲内の要素を取得
インデックスの場所を指定する要素値の設定
指定した要素を削除
setタイプ
setタイプは無秩序集合であり、要素はstringタイプであり、要素は一意性を有し、重複せず、集合に対して変更操作はない.
要素を追加
すべての要素を取得
指定した要素を削除
zsetタイプ
zsetタイプ(sorted set)は秩序化された集合であり、要素はstringタイプであり、要素は重複せず、各要素はdoubleタイプのscoreに関連付けられ、重みを表し、重みによって要素を小さいものから大きいものに並べ替え、変更されていない操作である.
要素を追加
指定した範囲内の要素の取得
score値のminとmaxの間の要素を取得
メンバーのscore値の取得
指定した要素を削除
指定した範囲の重みを持つ要素を削除
接続コマンド
redisデータベースへの接続
キーコマンド
検索キー、パラメータが正規表現をサポート
キーが存在するかどうかを判断する
キーに対応するvalueのタイプを表示します.redisでサポートされている5つのタイプの1つです.
削除キーと対応する値
有効期限を秒単位で設定
有効時間を秒単位で表示
Redis構築主従
主従モードを構築することによって読み書き分離を実現し、masterはデータを書くために使用され、slaveはデータを読むために使用され(統計:ウェブサイトの読み書き比率は10:1)、1つのmasterは複数のslaveを持つことができ、1つのslaveは1つは複数のslaveを持つことができる.
Redis構築クラスタ
クラスタは、互いに独立した高速ネットワークを介して相互接続されたコンピュータのセットであり、それらはグループを構成し、単一システムのモードで管理される.クラスタ構成は、可用性とスケーリング性を向上させるために使用され、要求が来るとまず負荷等化サーバによって処理され、要求を別のサーバに転送する.Redisクラスタは、データをマスターノードに存在させ、そのマスターと対応するsalveとの間でデータ同期を行います.データを読み出すと、コンシステンシハッシュアルゴリズムに基づいて対応するmasterノードにもデータが取得される.対応するsalveノードが起動するのは、1つのmasterがオフになってからのみです.masterとして機能するには、3つ以上のプライマリノードが必要です.そうしないと、クラスタを作成できません.また、生存するプライマリノードが合計ノードの半分未満になると、クラスタ全体がサービスを提供できません.
Redisは非関係型データベース(NoSQL)であり、SQL構文はサポートされず、独自のapiと構文があり、メモリベースの高性能key-value型データベースであり、データの持続化をサポートし、メモリ内のデータをディスクに保存し、再起動時にロードし、プライマリ・スレーブ・モードをサポートする.
Redis持続化
RDB永続化とAOF永続化の2つの永続化方式があります.
RDB持続化:
現在のメモリのデータセットのタイミングスナップショットをディスクに書き込む
利点:1.バックアップとディザスタリカバリが容易(dump.rdbファイル); 2.redisメインプロセスforkは、永続化作業を完了するためにサブプロセスを生成する. 3.AOFよりも大量のデータセットのリカバリが高速です.
欠点:1.定期的にバックアップを行い、redisが予期せぬdownになった場合、まだディスクに書き込まれていないためデータが失われます. 2.forkのサブプロセスでは、リアルタイムで永続化することはできません.
AOF持続化:
書き込み、削除の各操作をログ形式で記録します(1秒あたりの同期、変更ごとの同期、および非同期の3つの同期ポリシー).
利点:1.データが失われないように保護します. 2.書き込み中にハングアップが発生しても、ログファイルにすでに存在するコンテンツは破壊されません.
欠点:1.大量のデータセットの回復はRDBより遅い. 2.AOFの動作効率はRDBより遅くなることが多い.
Redisデータ構造操作コマンド
Redisはkey-valueとしてデータ格納され、string、hash、list、set、zsetの5つのデータ型をサポートします.
stringタイプ
文字列タイプは、JPEG画像データやJsonオブジェクト記述情報など、任意のフォーマットのデータをサポートできるRedisの中で最も基本的なデータ型であり、最大512 Mのデータ長を格納できる.
キー値の設定:(設定したキーが存在しない場合は追加、設定したキーが存在する場合は変更)
set key value
キー値と有効期限を秒単位で設定します.
setex key seconds value
複数のキー値を設定:
mset key1 value1 key2 value2 ...
追加値:
append key value
キーに基づいて値を取得:(存在しない場合はnilを返します)
get key
複数のキーに基づいて複数の値を取得します.
mget key1 key2 ...
hashタイプ
オブジェクトを格納するために使用されます.オブジェクトの構造は属性、値、値のタイプはstringです.
個々のプロパティの設定
hset key field value
複数のプロパティの設定
hmset key field1 value1 field2 value2 ...
指定したキーのすべてのプロパティを取得
hkey2 key
属性の値を取得
hget key field
複数の属性の値を取得
hmget key field1 field2 ...
すべての属性の値を取得
hvals key
hashのプロパティを取得するには
hlen key
属性を削除すると、属性に対応する値が一緒に削除されます.
hdel key field1 field2 ...
リストタイプ
リストの要素タイプはstringで、挿入順にソートされます.
左にデータを挿入
lpush key value2 value ...
右側にデータを挿入
rpush key value1 value2 ...
指定した要素の前後に新しい要素を挿入
linsert key before after
リストで指定した範囲内の要素を取得
lrange key start stop
//start、stop
// , 0
// , , -1
インデックスの場所を指定する要素値の設定
lset key index value
// , 0
// , , -1
指定した要素を削除
lrem key count value
//count>0: count value
//count<0: count value
//count=0: value
setタイプ
setタイプは無秩序集合であり、要素はstringタイプであり、要素は一意性を有し、重複せず、集合に対して変更操作はない.
要素を追加
sadd key member1 member2 ...
すべての要素を取得
smembers key
指定した要素を削除
srem key value
zsetタイプ
zsetタイプ(sorted set)は秩序化された集合であり、要素はstringタイプであり、要素は重複せず、各要素はdoubleタイプのscoreに関連付けられ、重みを表し、重みによって要素を小さいものから大きいものに並べ替え、変更されていない操作である.
要素を追加
zadd key score1 member1 score2 member2 ...
指定した範囲内の要素の取得
zrange key start stop
//start、stop ( (score) )
// , 0
// , , -1
//
score値のminとmaxの間の要素を取得
zrangebyscore key min max
メンバーのscore値の取得
zscore key member
指定した要素を削除
zrem key member1 member2 ...
指定した範囲の重みを持つ要素を削除
zremrangebyscore key min max
接続コマンド
redisデータベースへの接続
redis-cli -h(ip ) -p( ) (--raw)
//--raw,
キーコマンド
検索キー、パラメータが正規表現をサポート
key2 pattern
//keys *,
キーが存在するかどうかを判断する
exists key1
// 1, 0
キーに対応するvalueのタイプを表示します.redisでサポートされている5つのタイプの1つです.
type key
削除キーと対応する値
del key1 key2 ...
有効期限を秒単位で設定
expire key seconds
// , del
有効時間を秒単位で表示
ttl key
Redis構築主従
主従モードを構築することによって読み書き分離を実現し、masterはデータを書くために使用され、slaveはデータを読むために使用され(統計:ウェブサイトの読み書き比率は10:1)、1つのmasterは複数のslaveを持つことができ、1つのslaveは1つは複数のslaveを持つことができる.
Redis構築クラスタ
クラスタは、互いに独立した高速ネットワークを介して相互接続されたコンピュータのセットであり、それらはグループを構成し、単一システムのモードで管理される.クラスタ構成は、可用性とスケーリング性を向上させるために使用され、要求が来るとまず負荷等化サーバによって処理され、要求を別のサーバに転送する.Redisクラスタは、データをマスターノードに存在させ、そのマスターと対応するsalveとの間でデータ同期を行います.データを読み出すと、コンシステンシハッシュアルゴリズムに基づいて対応するmasterノードにもデータが取得される.対応するsalveノードが起動するのは、1つのmasterがオフになってからのみです.masterとして機能するには、3つ以上のプライマリノードが必要です.そうしないと、クラスタを作成できません.また、生存するプライマリノードが合計ノードの半分未満になると、クラスタ全体がサービスを提供できません.