1. Redisの詳細なドキュメントに関連するコマンドの5つの基本タイプ。
https://www.runoob.com/redis/redis-commands.html
2. RedisのHyperloglog
RedisのHyperLogLogベースは統計アルゴリズムを作るために使用されます。
(1)利点:入力要素又は計算ベースに必要な空間の非常に大量の数は常に固定されており、非常に小さいされます。Redisのでは、各キーのRedis HyperLogLogのメモリのみ12キロバイトを要し、約2を計算することができる64塩基異なる要素。
欠点:RedisのHyperLogLog入力要素ベースに基づいて計算されるが、入力要素自体を格納しません。
2.1カーディナリティとは何ですか
そのようなデータセット{1、3、5、7、5、7、8}、データセット{1、3、5、7、8}、塩基(リピートしない素子)5のセットのカーディナリティとして。基数推定誤差が許容範囲、高速計算基準の範囲内です。
例:
繰り返し127.0.0.1:6379> PFADDのrunoobkey "繰り返し" 1)(整数)1 Redisの 127.0.0.1:6379> PFADDのrunoobkey "のMongoDB" 1)(整数)1 Redisの 127.0.0.1:6379> PFADDのrunoobkey "mysqlの" 1)(整数)1 Redisの 127.0.0.1:6379> PFCOUNT runoobkey (整数)3
2.2 RedisのHyperLogLog基本的なコマンド
(1)PFADDキー要素[要素...] HyperLogLogは、指定された要素に加えました。
(2)PFCOUNTキー[キー...] HyperLogLog与えられた基数推定値を返します。
(3)PFMERGE destkey SOURCEKEY [SOURCEKEY ...]複合複数HyperLogLog HyperLogLogです。
3. Redisのパブリッシュおよびサブスクライブ
Redisのは、(パブ/サブ)パブリッシュおよびサブスクライブ・メッセージング通信モードである:送信者(パブ)は、加入者(SUB)がメッセージを受信し、メッセージを送信します。
Redisのでは、Redisのクライアントは、任意の数のチャンネルを購読することができます。
3.1 Redisのは、関係図をパブリッシュおよびサブスクライブ
ショー下図チャネルチャネル1、および3つのクライアントは、このチャンネルにサブスクライブ - クライアント2、client5とCLIENT1との関係:
新しいメッセージがコマンドを発行するチャンネル1でチャネルに送信されると、このメッセージは、その3つのクライアントの加入者に送信されます。
例:
#redisChatを購読: Redisの127.0.0.1:6379>はredisChatをSUBSCRIBE メッセージを読む ...(プレスはCtrl- Cは終了します) 1) "サブスクライブ" 2) "redisChat" 3)(整数)1 #そして今、レッツ・再オープンAのRedisクライアント、redisChat同じニュースチャンネルに2回発行には、加入者がメッセージを受け取ることができるようになります。 127.0.0.1:6379> redisChatを公開Redisの「Redisのは、偉大なキャッシング技術」 (整数)1 Redisの 127.0.0.1:6379> redisChatを公開"runoob.comによってRedisの学習" (整数)1 #加入者のクライアントは、次のメッセージを表示します 1) "メッセージ" 2) "redisChat" 3)「Redisのは、偉大なキャッシング技術です」 1) "メッセージ" 2) "redisChat" 3) "runoob.comでのRedis学びます"
3.2 Redisのコマンド発行購読
(1)PSUBSCRIBEパターン[パターン...] 1つ以上のチャネルにサブスクライブする特定のパターンに一致します。
(2)PubSubのサブコマンド[引数[引数...]]ビューのサブスクリプションとパブリッシングシステムステータス
(3)指定されたチャネルに情報を送信するためにチャネル・メッセージをパブリッシュ
所定のパターンのすべてのチャネルから(4)PUNSUBSCRIBE [パターン[パターン...]]解除
(5)チャネル[チャネル...]情報所与の一つまたは複数のチャネルにサブスクライブするSUBSCRIBE
(6)UNSUBSCRIBE [チャネル[チャネル...]]指定されたチャンネルのみ解除
4. Redisの総務
4.1 Redisのトランザクション特性
Redisのトランザクションは、一度、以下の3つの重要な保証で複数のコマンドを実行することができます。
(1)EXECコマンドバッファキューを送信する前に、バッチ操作に配置されます。
(2)は、トランザクション任意のコマンドの実行が失敗し、コマンドの残りの部分はまだ実行されているトランザクションの実行を入力するEXECコマンドを受け取ります。
別のクライアントコマンド要求が提出したトランザクション中に(3)は、トランザクションの実行コマンドシーケンスに挿入されていません。
4.2 Redisのトランザクションのライフサイクル
トランザクションを実行するために最初から三つの段階を通過します。
(1)は、トランザクションを開始します
コマンドチームに(2)
(3)執行部
例:
#MULTIへの最初の取引へのチームに複数のコマンド、その後、トランザクションを開始し、トランザクションが一緒にトランザクションを実行するすべてのコマンドで、最後のEXECコマンドによってトリガーされる Redisの127.0.0.1:6379を> MULTI OK Redisの 127.0.0.1:6379> SETブック名"21日間でマスタリングC ++" QUEUED Redisの 127.0.0.1:6379> GET book- 名 QUEUED Redisの 127.0.0.1:6379> SADDタグ"C ++" "プログラミング" "マスタリングシリーズ" QUEUED Redisの 127.0.0.1:6379は>タグSMEMBERS #は、コレクションのすべてのメンバーを返します QUEUED Redisの 127.0.0.1:6379> EXEC 1 OK) 2) "21日間でマスタリングC ++" 3)(整数)3 4)1) "マスタリングシリーズ" 2) "C ++" 3) "プログラミング"
4.3 Redisのトランザクション実行の説明
アトミックが、Redisのはアトミックトランザクションを維持するための任意のメカニズムを追加しなかった単一のRedisコマンドで実行され、実行Redisのトランザクションはアトミックではありません。
Redisのトランザクションがスクリプトをパッケージ化ボリュームとして理解実行することができますが、命令の大部分はアトミック操作ではありません、真ん中が以前の命令のロールバックを行って命令の失敗につながることはありません、それは後続の命令はしないだろう原因。
以下のような:
127.0.0.1:7000> Redisのマルチ OK Redisの > 127.0.0.1:7000 AAAの設定 QUEUED Redisの 127.0.0.1:7000> BBB Bセットは、 QUEUED Redisの 127.0.0.1:7000> セットのC CCCを QUEUED Redisの 127.0.0.1:7000> EXEC 1 )OK 2 )OK 3 )OKを #それは場所BBBセットBに障害が発生した場合、成功はロールバックされなかったであろうし、セットCは続行されます。
4.4 Redisのトランザクションコマンド
(1)DISCARDはトランザクションブロック内のすべてのコマンドをあきらめ、トランザクションを取り消します。
(2)ブロック内のすべてのトランザクションEXECを実行します。
(3)マルチマークブロックトランザクションの開始。
(4)UNWATCHキャンセルWATCHコマンドは、すべてのキーを監視します。
(5)WATCHキー[キー...]モニター一つ以上のキーのキーの変更がトランザクションの前に他のコマンドを実装した場合、トランザクションは中断されます。
5. Redisのスクリプト
あなたがスクリプトを実行するために使用するインタプリタのRedisのLuaスクリプト。組み込みLuaのサポート環境を通じてRedis2.6バージョン。よく使用されるコマンドは、EVALのためのスクリプトを実行します。
構文:EVALスクリプトnumkeys キー [ キー ...]のArg [Argの...]
例:
Redisの127.0.0.1:6379> EVAL "リターン{KEYS [1]、KEYS [2]、ARGV [1]、ARGV [2]}" 2 KEY1 KEY2第二 1) "KEY1" 2) "キー2" 3) "最初の" 4) "第二"
5.1 Redisの基本的なスクリプトコマンド
(1)EVALスクリプトnumkeysキー[キー...] argを[引数...] Luaのスクリプトの実行。
(2)EVALSHA SHA1のnumkeysキー[キー...] argを[引数...] Luaのスクリプトの実行。
(3)スクリプトは、スクリプト[スクリプトをEXISTS ...] キャッシュに格納されている指定されたスクリプトがどうかを確認する
(4)スクリプトFLUSHスクリプトキャッシュからすべてのスクリプトを削除します。
(5)SCRIPT KILLキルのLuaスクリプトが現在実行されています。
(6)SCRIPTのLOADスクリプトは、スクリプトのキャッシュスクリプトにスクリプトを追加しますが、スクリプトはすぐに実行されません。
6. Redisの接続
Redisの接続コマンドは、主に接続Redisのサービスに使用されています。
例:
127.0.0.1:6379> AUTH "パスワード" のRedis OK Redisの 127.0.0.1:6379> PINGを PONG
6.1 Redisの接続コマンド
(1)AUTHパスワード認証パスワードが正しいですか
(2)ECHOメッセージの印字文字列
サービスが実行されているかどうかを確認する(3)PING
(4)が閉じ、現在の接続を終了します
(5)指定されたデータベースへのインデックス・スイッチを選択
7. Redisのサーバー
Redisのサーバーコマンドを参照してくださいhttps://www.runoob.com/redis/redis-server.html