redis高度な応用
2372 ワード
認証の実装方法
2つの方法を実装します.修正conf'ファイル redis-cli を使用
redisコマンドマニュアル
redisコマンドマニュアル
トランザクションの実装
MULTI:トランザクションEXECを開始する:トランザクションを実行する:トランザクション内のすべてのアクションを一度に実行してクライアントに返す.WATCH:楽観ロック、execコマンドが実行される前に、指定された数のキーを参照するために使用され、参照中の任意のキーデータが変更された場合、サーバはトランザクションの実行を拒否します.
接続関連コマンド
Sever関連コマンド
CLIENT SETNAME CLIENT GETNAME CLIENT kill ip:port CONFIG GET INFO CONFIG INFO
パブリッシュとサブスクリプション(publish/subscribe)
チャンネルメッセージキュー
subscribe:1つ以上のチャンネルを購読する.publish:チャンネルにメッセージを送信する;unsubscribe:キャンセルチャンネル;psubscribe:モード購読
Redisの永続化 RDB snapshot、バイナリフォーマット;カスタマイズを実現するポリシーに従って、定期的にデータをディスクに保存し、データファイルのデフォルトは'dump.rdb';クライアントは、saveコマンドまたはBGSAVEコマンドを使用してスナップショット保存メカニズムを起動することもできる.SAVE:同期し、メインスレッドにスナップショットを保存する;このとき、すべてのクライアント要求がブロックされます.BGSAVE:非同期 AOF Append Only Fileは、指定されたファイルの末尾に書き込み操作が行われるたびに永続化されることを記録します.redisが再起動されると、ファイル内のコマンドを再実行してメモリでデータベースを再構築できます.BGREWRITEAOF:AOFファイル書き換え;使用中のAOFファイルは読み込まれず、メモリ内のデータを一時ファイルに保存することで、完成後に元のAOFファイルを蹴館する.
マスターコピー
特徴: 1 Masterは、複数のSlave を有することができるはチェーンコピー をサポートする Master非ブロッキング方式でSlave にデータを同期する.
レプリケーションプロセス:slaveを起動すると、slaveはmasterにsync commandを送信し、データの同期を要求し、masterはバックグラウンドサブプロセスを起動してデータスナップショットをデータファイルに保存し、データファイルをslaveに送信し、slaveはデータファイルをローカルに保存し、データファイルをメモリにロードする.
sentinel:
複数のredisサービスを監視するためにHAを実現する:監視通知自動フェイルオーバ、伝言プロトコル、投票プロトコルに基づく;サーバ自体が初期化され、redis-serverでsentinel機能専用のコードが実行されます. sentinel状態を初期化し、所与の構成jinファイルに基づいて監視のmasterサーバリストを初期化する. masterへのリンクを作成する.
主観的なラインオフ、客観的なラインオフ:主観的なラインオフ:1つのsentinelの実例はあるノードのラインオフを判断します客観的なラインオフ:複数のsentinelノードが協議した後にあるノードのラインオフを判断します
Clustering
分散型データベースは、スライスメカニズムによってデータ分布を行い、clustering内の各ポイントはデータベースの一部のデータのみである.各ノードはグローバルメタデータを保持しますが、一部のデータのみを保持します.
一般的な分散ソフトウェア Twemproxy(Twitter)エージェントスライスメカニズム codis(エンドウアジ)エージェントスライスメカニズム redis cluster(公式)無中心p 2 p Gossip分散モード Cerberus(マンゴーTV)データ自動バランス、読み書き分離 をサポート
2つの方法を実装します.
requirepass [password]
AUTH [password]
redisコマンドマニュアル
redisコマンドマニュアル
トランザクションの実装
MULTI, EXEC, WATCH
コマンドによって実現される:1つ以上のコマンドを1つの操作要求サーバに対して順次実行するメカニズム;ロールバック操作はサポートされていません.MULTI:トランザクションEXECを開始する:トランザクションを実行する:トランザクション内のすべてのアクションを一度に実行してクライアントに返す.WATCH:楽観ロック、execコマンドが実行される前に、指定された数のキーを参照するために使用され、参照中の任意のキーデータが変更された場合、サーバはトランザクションの実行を拒否します.
接続関連コマンド
AUTH
ECHO
PING
QUIT
SELECT
Sever関連コマンド
CLIENT SETNAME CLIENT GETNAME CLIENT kill ip:port CONFIG GET INFO CONFIG INFO
パブリッシュとサブスクリプション(publish/subscribe)
チャンネルメッセージキュー
subscribe:1つ以上のチャンネルを購読する.publish:チャンネルにメッセージを送信する;unsubscribe:キャンセルチャンネル;psubscribe:モード購読
Redisの永続化
マスターコピー
特徴:
レプリケーションプロセス:slaveを起動すると、slaveはmasterにsync commandを送信し、データの同期を要求し、masterはバックグラウンドサブプロセスを起動してデータスナップショットをデータファイルに保存し、データファイルをslaveに送信し、slaveはデータファイルをローカルに保存し、データファイルをメモリにロードする.
sentinel:
複数のredisサービスを監視するためにHAを実現する:監視通知自動フェイルオーバ、伝言プロトコル、投票プロトコルに基づく;
redis-setinel /path/to/file.conf
redis-server /path/to/file.conf --sentinel
主観的なラインオフ、客観的なラインオフ:主観的なラインオフ:1つのsentinelの実例はあるノードのラインオフを判断します客観的なラインオフ:複数のsentinelノードが協議した後にあるノードのラインオフを判断します
Clustering
分散型データベースは、スライスメカニズムによってデータ分布を行い、clustering内の各ポイントはデータベースの一部のデータのみである.各ノードはグローバルメタデータを保持しますが、一部のデータのみを保持します.
一般的な分散ソフトウェア