Redis入門ノート-linuxでのredisの構成と一般的なパラメータの説明

5828 ワード

最近暇を得て简単なredisの入门の知识を学び始めて、1つは难题に出会って、redisのパラメータの配置の问题、数十のパラメータは私は自分が一时半刻すべて理解することができるのではないことを発见して、だから先に1つの简単なノートと记录をして、必要な时ちょうどブログに来て调べることができます.
参考資料:Redis配置|菜鳥教程
Redisの特徴
Redisの特徴と利点を簡単に紹介する:1.非常に高いパフォーマンス–Redisの読み取り速度は110000回/s、書き込み速度は81000回/sです.2.豊富なデータ型–RedisはバイナリケースのStrings,Lists,Hashes,SetsおよびSorted Setsデータ型操作をサポートする.3.原子-Redisのすべての操作は原子的であり、成功するか失敗するかは完全に実行されないことを意味する.単一の操作は原子的である.複数のオペレーションは、MULTIおよびEXEC命令によってパッケージされたトランザクション、すなわち原子性もサポートします.4.豊富な機能–Redisはpublish/subscribe、通知、keyの期限切れなどの機能もサポートしています.
Redis構成
Redisの構成は主にその構成ファイルredisを修正する.conf,ubuntuはaptでredisをインストールした後、プロファイルは/etc/redisにあります.redisを変更します.confファイルには、daemonizeを変更してデーモンプロセスのプロパティを設定する2つの方法があります.
方法1
  • まずredisクライアントにアクセスし、構成する必要があるパラメータを表示します.
  • 構文:CONFIGGET CONFIG_SETTING_NAME
  • config get daemonize
  • config get loglevel


  • 構文で新しいパラメータを設定します.
  • 構文:CONFIGSET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
  • config set daemonize "yes"
  • config set loglevel "notice"



  • 方法2
  • 直接vimでredisを開く.confは構成変更を行い、変更するパラメータ名を見つけ、insertは変更する.なぜブロガーは上記の方法でdaemonizeを修正することができないのか分かりませんが、方法2は可能なので、両方の方法が必要です.

  • 一般的なパラメータの説明
  • Redisのデフォルトはデーモンプロセスとして実行するものではありません.この構成を変更することで、yesを使用してデーモンプロセスdaemonize
    no
  • を有効にすることができます.
  • Redisがデーモン方式で実行する場合、Redisはデフォルトでpidを/var/run/redisに書き込む.pidファイル、pidfileでpidfile
    /var/run/redis.pid
  • を指定できます.
  • はRedisリスニングポートを指定し、デフォルトポートは6379で、著者は自分のブログで6379をデフォルトポートとして選んだ理由を説明した.6379は携帯電話のボタンにMERZ対応の番号があるため、MERZはイタリアの歌姫Alessia Merzの名前port
    6379
  • から取った.
  • バインドホストアドレスbind
    127.0.0.1
  • クライアントがアイドル状態になってから接続をオフにする場合、0と指定すると、この機能をオフにすることを示すtimeout
    300
  • .
  • ログ・レベルを指定します.Redisは、debug、verbose、notice、warningの4つのレベルをサポートします.デフォルトはverbose loglevel
    verbose
  • です.
  • ログ記録方式、デフォルトは標準出力、Redisをデーモン方式で実行するように構成し、ここでログ記録方式を標準出力として構成すると、ログは/dev/null logfile
    stdout
  • に送信される.
  • データベースの数を設定し、デフォルトのデータベースは0であり、SELECTコマンドを使用して接続上のデータベースid databases
    16
  • を指定することができる.
  • どのくらいの時間内に、何回更新操作があるかを指定すると、データをデータファイルに同期し、save

    Redis :
    save 900 1
    save 300 10
    save 60 10000
    900 (15 ) 1 ,300 (5 ) 10 60 10000 。
  • に複数の条件を合わせることができる.
  • ローカルデータベースに格納時にデータを圧縮するかどうかを指定します.デフォルトはyesです.RedisはLZF圧縮を採用しています.CPUの時間を節約するために、このオプションをオフにすることができますが、データベースファイルが大きくなります.
  • ローカルデータベースのファイル名を指定します.デフォルトはdumpです.rdb rdbcompression
    yes
  • ローカルデータベース格納ディレクトリdbfilename
    dump.rdb
  • を指定する.
  • は、自機がslavサービスである場合に、masterサービスのIPアドレス及びポートを設定し、Redis起動時に、自動的にmasterからデータ同期dir
    ./
  • を行う.
  • マスターサービスがパスワード保護を設定と、slavサービスはマスターのパスワードslaveof
  • に接続する.
  • Redis接続パスワードを設定、接続パスワードが設定されている場合、クライアントはRedis接続時にAUTHコマンドでパスワードを提供する必要があり、デフォルトではmasterauth
  • を閉じる.
  • 同じ時間に最大クライアント接続数を設定します.デフォルトでは制限はありません.Redisが同時に開くことができるクライアント接続数はRedisプロセスが開くことができる最大ファイル記述子数です.maxclients 0を設定すると、制限はありません.クライアント接続数が制限に達すると、Redisは新しい接続を閉じ、max number of clients reachedエラー情報requirepass
    foobared
  • をクライアントに返す.
  • はRedisの最大メモリ制限を指定し、Redisは起動時にメモリにデータをロードし、最大メモリに達した後、Redisは期限切れまたは期限切れになるKeyをクリアしようとします.このメソッドの処理後も最大メモリ設定に達し、書き込み操作はできませんが、読み取り操作はできます.Redisの新しいvmメカニズムは、Keyをメモリに格納し、Valueはswap領域maxclients
    128
  • に格納します.
  • 更新操作のたびにログを記録するかどうかを指定します.Redisはデフォルトでは非同期でディスクにデータを書き込みます.オンにしないと、電源が切れたときにしばらくの間データが失われる可能性があります.redis自体の同期データファイルは上記save条件で同期されるため、一定期間メモリにしか存在しないデータもあります.デフォルトはno maxmemory
  • 更新ログファイル名を指定します.デフォルトはappendonlyです.aof appendonly
    no
  • 更新ログ条件を指定します.3つのオプション値があります.appendfilename
    appendonly.aof
  • 仮想メモリメカニズムを有効にするかどうかを指定します.デフォルト値はnoです.簡単に説明します.VMメカニズムはデータをページングし、Redisによってアクセス量の少ないページ、すなわち冷たいデータswapをディスクに、アクセスの多いページはディスクによって自動的にメモリに変換されます(後述の章ではRedisのVMメカニズムを詳しく分析します).no: ( )
    always: fsync() ( , )
    everysec: ( , )
    appendfsync
    everysec
  • 仮想メモリファイルパス、デフォルト値は/tmp/redis.swap、複数のRedisインスタンス共有できないvm-enabled
    no
  • vm-max-memoryより大きいすべてのデータを仮想メモリに格納します.vm-max-memoryの設定がどんなに小さくても、すべてのインデックスデータはメモリに格納されます(Redisのインデックスデータはkeysです).つまり、vm-max-memoryが0に設定されている場合、実際にはすべてのvalueがディスクに存在します.デフォルト値は0 vm-swap-file
    /tmp/redis.swap
  • です.
  • Redisのswapファイルは多くのpageに分かれており、1つのオブジェクトは複数のpageの上に保存できるが、1つのpageでは複数のオブジェクトに共有されてはいけない.vm-page-sizeは格納されたデータサイズに応じて設定される.著者らは、多くの小さなオブジェクトを格納する場合、pageの大きさを32または64 bytesに設定することを提案する.大きなオブジェクトを格納場合は、より大きなpageを使用することができ、不確定であればデフォルト値vm-max-memory
    0
  • を使用することができる.
  • swapファイルのpage数を設定します.ページテーブル(ページの空きや使用を示すbitmap)がメモリに格納されているため、ディスク上で8つのpagesごとに1 byteのメモリが消費されます.vm-page-size
    32
  • swapファイルにアクセスするスレッド数を設定します.マシンのコア数を超えないほうがいいです.0に設定すると、swapファイルに対する操作はすべてシリアルで、比較的長い遅延をもたらす可能性があります.デフォルトは4 vm-pages
    134217728
  • です.
  • クライアントに応答するときに、より小さなパケットを1つのパケットに統合する送信するかどうかは、デフォルトではvm-max-threads
    4
  • がオンである.
  • 特定の数または最大の要素がある臨界値を超える場合、特殊なハッシュアルゴリズムglueoutputbuf
    yes
  • を採用する.
  • リセットハッシュをアクティブ化するかどうかを指定し、デフォルトはオン(Redisのハッシュアルゴリズムについては後述)hash-max-zipmap-entries
    64
    hash-max-zipmap-value
    512
  • は、同一ホスト上の複数のRedisインスタンス間で同一のプロファイルを使用することができる他のプロファイルを含むことを指定し、各インスタンスは独自の特定のプロファイルactiverehashing
    yes
  • を有する.