redis-物事/楽観ロック/サブスクリプションのパブリッシュ/永続化

2740 ワード

物事/楽観ロック
Redisトランザクションは、複数のコマンドを一度に実行でき、次の3つの重要な保証があります。 一括アクションはEXECコマンドを送信する前にキューキャッシュに入れられます。 EXECコマンドを受信するとトランザクション実行に入り、トランザクション内の任意のコマンドの実行に失敗し、残りのコマンドは実行されます。 トランザクション実行プロセスでは、他のクライアントから送信されたコマンド要求はトランザクション実行コマンドシーケンスに挿入されません。

1つのトランザクションの開始から実行までに、次の3つのフェーズがあります。 事務を始める。 入隊を命ずる。 トランザクションを実行します。

単一のRedisコマンドの実行は原子的であるが、Redisはトランザクションに原子性を維持するメカニズムを追加していないため、Redisトランザクションの実行は原子的ではない。トランザクションは、パッケージ化されたバッチ実行スクリプトとして理解できますが、バッチ命令は原子化された操作ではありません。中間の命令の失敗は、前に行われた命令のロールバックを招くことはありません。後続の命令が行われないこともありません。
127.0.0.1:6379> multi   #    
OK
127.0.0.1:6379> set age 18  #    
QUEUED
127.0.0.1:6379> set name jack
QUEUED
127.0.0.1:6379> exec  #    
1) OK
2) OK
127.0.0.1:6379>

 :  
MULTI
          。
EXEC
           。
DISCARD
    ,             。

127.0.0.1:6379> watch name # name    
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set name ztind
QUEUED
127.0.0.1:6379> exec
(nil)    ---->       name      ,            nil
127.0.0.1:6379>

 :   
WATCH key [key ...]
    (   ) key ,           (   ) key         ,        。
UNWATCH
   WATCH       key    。

サブスクリプションの発行
Redisパブリケーションサブスクリプション(pub/sub)は、送信者(pub)がメッセージを送信し、サブスクライバ(sub)がメッセージを受信するメッセージ通信モードである。
#    
SUBSCRIBE channel [channel ...]
               。
UNSUBSCRIBE [channel [channel ...]]
        。

#        
PSUBSCRIBE pattern [pattern ...]
                。
PUNSUBSCRIBE [pattern [pattern ...]]
           。

#           
PUBLISH channel message   
           。

#Pubsub                ,              。
PUBSUB subcommand [argument [argument ...]]
           。
eg:pubsub channels

永続化
rdb (redis database)
redisは、所定の時間間隔でメモリ内のデータスナップショットをディスクに書き込むdumpとして保存する.rdbファイル

redisはメモリ蓄積である、電源が切れるとすぐに失われ、データを保存するためにredisはdumpを用いる.rdbはデータ保存を実現し,次回redisサーバ自動読み出しを開始する.
saveポリシー:
  • save 900 1は900 s以内に少なくとも1つのkey修正があることを示す
  • を保持する.
  • save 300 10は、300 s内に少なくとも10個のkey修正があることを示す
  • を保持する.
  • save 60 10000は、60 s内に少なくとも10000個のkey修正があることを示す
  • を保持する.
    dump.rdbファイルの生成状況は以下の通りです.
  • save,アクティブにsaveコマンドを実行すると
  • が生成される.
  • flushallは、データベースデータをクリアするときに
  • を生成する.
  • shutdown,redisサーバを閉じると
  • が生成される.
    aof (append only file)
    各書き込み操作コマンドをログに記録する、redis実行中のすべての書き込みコマンドをappendonlyに記録する(読み取り操作は記録しない).aofファイルにあります。追加ファイルのみファイルを書き換えません。redisサービスが再起動した後、本ファイルを読み取り、中のコマンドを実行してデータ復旧機能を実現します。デフォルトでは開きません。プロファイルredisにアクセスできます。conf修正オープンappendonly yes

    保存ポリシー:
  • appendfsync always#常時同期修正追加保存
  • appendfsync everysec#毎秒修正追加保存(デフォルト)
  • appendfsync no#は同期せず、システムに渡して保存され、最速