Redisサービス管理

4806 ワード

Redisサーバの管理には、redisが提供するサービスコマンドを使用するか、phpRedisAdmin 1、Redisサーバコマンドは主にredisサービスを管理するための管理ソフトウェアを使用することができます.
1.bgrewriteaof 
       aof(appendonly file)       
2.bgsave 
                  
3.client kill [ip:port] [id client-id] 
       
4.client list 
                
5.client getname 
       
6.client pause timeout 
                  
7.client setname connection-name 
         
8.cluster slots 
           
9.command 
   redis       
10.command count 
   redis     
11.command getkeys 
          
12.time 
         
13.command info command-name [command-name ...] 
     redis        
14.config get parameter 
          
15.config rewrite 
    redis          redis.conf         
16.config set parameter value 
   redis     ,    
17.config resetstat 
   info           
18.dbsize 
         key    
19.debug object key 
   key      
20.debug segfault 
  redis     
21.flushall 
          key
22.flushdb 
          key
23.info [section] 
   redis              
24.lastsave 
       redis               ,  unix        
25.monitor 
      redis          ,   
26.role 
           
27.save 
         
28.shutdown [nosave] [save] 
         ,      
29.slaveof host port 
                    (slave server)
30.slowlog subcommand [argument] 
   redis     
31.sync 
      (replication)     

二、バックアップとリストア1.redis独自の持続化
Redisは、RDBおよびAOFの2つの永続化オプションを提供する.
デフォルトでは60秒に一度diskにリフレッシュする[save 60 10000 keysデータが1 w変更された場合]Redisのデータセットはdumpという名前で保存される.rdbスナップショットと呼ばれるバイナリファイル.
セーブまたはBGSAVEコマンドを手動で呼び出すこともできます.
./bin/redis-cli -h 192.168.100.205  -p 6379 -a pwd bgsave
スナップショットはリカバリしやすく、ファイルも小さいですが、ダウンタイムなどの場合、スナップショットのデータが不完全になる可能性があります.この場合、[appendonly yes]をコンフィギュレーションファイルで開く別の永続化方法AOFを有効にする必要がある場合があります.
AOFログをdiskにリフレッシュするルール:
appendfsync always#alwaysは、書き込み操作のたびに同期し、非常に遅く、非常に安全であることを示しています.
appendfsync everysec#everysecは、書き込み操作を蓄積し、毎秒1回同期することを示す
公式の提案everysecは、安全です.速度が速くないので、機械に問題があれば1秒のデータを失う可能性があります.
手動でbgrewriteaofを実行してAOFバックアップを行うこともできます.
./bin/redis-cli -h 192.168.100.205  -p 6379 -a pwd bgrewriteaof
マスター(Master)マルチスレーブ(Slave)を用いて読み書き分離のみを行った場合、Masterは書き込みとAOF持続化を担当し、Slaveは読み取りを担当する.毎日Slaveを通じてRDBバックアップを行い[公式に提案されているのは、RDBファイルを1時間ごとにバックアップし、ポリシーとビジネスタイプを見てください]、スクリプトで対応するバックアップファイルをバックアップサーバにプッシュします.
Redisサーバが停止すると、再起動時に次の優先順位でメモリにデータが復元されます.
AOFのみを構成する場合、再起動時にAOFファイルをロードしてデータを復元します.
RBDとAOFが同時に構成されている場合、起動はAOFファイルのみをロードしてデータを復元します.
RBDのみを構成する場合、起動はdumpファイルをロードしてデータを復元します.
リカバリ時に注意してください.メインライブラリが停止している場合は、メインライブラリを直接再起動できません.そうしないと、ライブラリからのAOFファイルが直接上書きされ、リカバリするファイルが正しく起動されることを確認しなければなりません.そうしないと、元のファイルが消去されます.
2.サードパーティ製ツール
redisのバックアップとリストアは、サードパーティのツールredis-dumpを使用することができます.
1)redis-dumpのインストール
yum install ruby rubygems ruby-devel//rubygemsおよび関連パッケージのインストール
gem sources -a http://ruby.taobao.org///ソース、タオバオ入り、外のソースはアクセスできません
gem install redis-dump-V//redis-dumpのインストール
2)redis-dumpエクスポートデータ
#telnet 192.168.100.205 6379//telnetからredis
Trying 192.168.100.205...  
Connected to 192.168.100.205.  
Escape character is '^]'.  
set test 11//値を設定
+OK  
get test//取値
$2  
11 
# redis-dump -u 192.168.100.205:6379 >test.json//データのエクスポート
3)redis-dumpエクスポートデータ
#telnet 192.168.100.205 6379//telnetからredis
Trying 192.168.100.205...  
Connected to 192.168.100.205.  
Escape character is '^]'.  
flushall//すべてのデータを空にしてください
+OK  
keys*//空の表示
*0  
# < test.json redis-load//データのインポート
# telnet 192.168.100.205 6379  
Trying 192.168.100.205...  
Connected to 192.168.100.205.  
Escape character is '^]'.  
keys*//インポート成功
*1  
$4  
test
三、redis安全
redisのプロファイルでパスワードパラメータを設定すると、クライアントがredisサービスに接続するにはパスワード検証が必要になり、redisサービスをより安全にすることができます.
1.次のコマンドでパスワード検証が設定されているかどうかを確認します.
redis 192.168.100.205:6379> CONFIG get requirepass
1) "requirepass"
2) (nil)
デフォルトではrequirepassパラメータは空です.これは、パスワード検証を必要とせずにredisサービスに接続できることを意味します.
2.次のコマンドでパラメータを変更します.
redis 192.168.100.205:6379> CONFIG set requirepass "admin"
OK
redis 192.168.100.205:6379> CONFIG get requirepass
1) "requirepass"
2) "admin"
パスワードを設定すると、クライアントがredisサービスに接続するにはパスワード検証が必要です.そうしないと、コマンドを実行できません.
3.AUTHコマンド基本構文フォーマット
redis 192.168.100.205:6379> AUTH password
例えば:192.168.100.205:6379>AUTH"admin"
これでパスワードokを検証すると、データベースにアクセスできます.
四、Redis管理ツールのphpRedisAdmin phpRedisAdminは、Redisデータベースを管理するための簡単なWebインタフェースです.複数のサーバを追加することで、Keyやデータを表示、変更、削除したり、データのバックアップやエクスポートを行うことができます.プロジェクトのアドレス:https://github.com/ErikDubbelboer/phpRedisAdminプレゼンテーションのアドレス:http://dubbelboer.com/phpRedisAdmin/
参考記事:
1.MySQLデータのRedisへの移行