Redisのいくつかの総括

3631 ワード

前记:久しぶりに帰って、最近redisを勉强して、まとめたものをみんなに分かち合いました.
Redisはメモリベースのデータストレージシステムであり、データはkey=>valueとして格納される.valueはstring,hash,list,set,sorted setなど、さまざまなデータ型をサポートします.
1.スタート
インストールチュートリアル
サービス・エンドの起動:redis-server
クライアントの起動:redis-cli
成功したかどうかを確認します.
127.0.0.1:6379> PING
PONG
127.0.0.1:6379>

学習チュートリアル
2.プロファイルredis.conf
CONFIG GET * //      
  • daemonize:デフォルトはno、yesはredis-server起動時に自動的にバックグラウンド運転方式
  • port:指定ポート番号
  • bind:ipをバインドし、ipをバインドする要求のみを受け入れ、より安全な
  • 3.redisデータ持続化
    RDB原理:
  • Redis fork関数を使用して現在のプロセス(親)のコピー(子)
  • をコピー
  • 親プロセスは、クライアントからのコマンドを受信して処理し続け、サブプロセスは、メモリ内のデータをハードディスク(HDD)の一時ファイル
  • に書き込むことを開始する.
  • サブプロセスがすべてのデータを書き込むと、古いrdbファイルがその一時ファイルに置き換えられ、このスナップショット操作が完了します.

  • AOF原理:
    AOF永続化方式では,サーバに対する書き込み操作を記録し,サーバが再起動するとこれらのコマンドを再実行して元のデータを復元する.動作方式は,命令をファイルの末尾に絶えず追加する.
    どのように選択しますか?
  • データベースのようなデータセキュリティ性能を達成するには、2つの
  • を同時に使用する必要があります.
  • 要求が特に高くなければ、RDB持続化
  • のみを用いることができる.
    4.redis起動サービス
  • /etc/init.d/redisは、以下の
     #!/bin/sh 
     ##chkconfig: 2345 80 90 
     ##description:auto_run 
             PATH=/usr/local/bin:/sbin:/usr/bin:/bin 
    
     REDISPORT=6379 
     EXEC=/usr/local/bin/redis-server 
     REDIS_CLI=/usr/local/bin/redis-cli 
     PIDFILE=/var/run/redis.pid 
     CONF="/etc/redis.conf" 
     
     case "$1" in 
     start)
         if [ -f $PIDFILE ] 
         then 
             echo "$PIDFILE exists, process is already running or crashed" 
         else 
             echo "Starting Redis server..." 
             $EXEC $CONF 
         fi 
         if [ "$?"="0" ] 
         then 
             echo "Redis is running..." 
             fi 
             ;; 
         stop) 
         if 
         [ ! -f $PIDFILE ] 
         then 
             echo "$PIDFILE does not exist, process is not running" 
         else 
             PID=$(cat $PIDFILE) 
             echo "Stopping ..."
             $REDIS_CLI -p $REDISPORT SHUTDOWN 
             while [ -x ${PIDFILE} ] 
             do 
                 echo "Waiting for Redis to shutdown ..." 
                 sleep 1 
             done 
                 echo "Redis stopped" 
             fi 
             ;; 
         restartforce-reload) 
             ${0} stop 
             ${0} start 
             ;; 
         *) 
         echo "Usage: /etc/init.d/redis {startstoprestartforce-reload}" >&2 
             exit 1 
     esac 
     #######
    
  • を加える.
  • 設定権限:chmod+x/etc/init.d/redis
  • 起動サービスに加入
  • linux: sudo chkconfig redis on
  • ubuntu: sudo sysv-rc-conf redis on

  • サービスに加入しているかどうかを確認します:service redis start
  • 5.Redis 6種類の期限切れポリシー
  • Volatile-lru:有効期限が設定されているkey
  • のみ
  • AllKeys-lru:lruアルゴリズムを削除するkey
  • Volatile-random:期限切れになるkey
  • をランダムに削除
  • Allkeys-random:
  • をランダムに削除
  • Volatile-ttl:期限切れのkey
  • を削除
  • noeviction:期限切れ
  • Redisトランザクション
    トランザクションは独立した分離であり、トランザクション内のすべてのコマンドがシーケンス化され、順番に実行されます.トランザクションは、実行中に他のクライアントから送信されたコマンドリクエストによって中断されません.
    トランザクションは原子操作であり、トランザクション内のコマンドはすべて実行されるか、すべて実行されないか、ロールバックできます.
    トランザクションの開始から実行までの3つのフェーズ
  • トランザクションを開始
  • 命令入隊
  • 実行トランザクション
  • シーケンス番号
    コマンドと説明
    1
    DISCARDはトランザクションをキャンセルし、トランザクションブロック内のすべてのコマンドの実行を放棄します.
    2
    EXECは、すべてのトランザクションブロック内のコマンドを実行します.
    3
    MULTIは、トランザクションブロックの開始をマークします.
    4
    UNWATCH WATCHコマンドによるすべてのキーの監視を解除します.
    5
    WATCH key [key ...] 1つ(または複数)のkeyを監視し、トランザクションが実行される前に他のコマンドで変更された場合、トランザクションは中断されます.
    Redisマニュアル
    Redis中国語マニュアルPHP版
    Redisマニュアル
    Redisコマンドリファレンス
    Redis精文
    キャッシュ更新キット--陳皓
    『Redisシリーズ特集』の20分でRedisをすばやく知る--手差しポケット_
    Redisステップ:データ持続化、安全、PHPでの使用--atwal