Redisのインストールと構成(centos 6.7)
インストールredis wgetをダウンロードhttp://redis.googlecode.com/files/redis-2.2.12.tar.gzただ面倒な事で、直接redisの中で手動でダウンロードして、私は3.2.0をおりて、偶数は安定版の ですコンパイル解凍後、公式にmake testを提案し、直接make編集すれば になります.サービスredisディレクトリの下で起動[[email protected]]#src/redis-server、デフォルトポートは6379です.サービス開始後、terminal(端末)を新たに起動[[email protected]]#src/redis-cli-h 127.0.0.1-p 6379-a passwordはデータベース にアクセスできます.電源を入れるにはvi/etc/rcを起動します.local、viエディタを使用してランダム起動プロファイルを開き、次の行のコード/root/4 setup/redis-3.2.0/src/redis-server を追加します. Redisインスタンスを停止[root@localhost redis-3.2.0]# src/redis-cli shutdown パスワードの変更127.0.0.1:6379>config get requirepass 127.0.0.1:6379>config set requirepass 123123 127.0.0.1:6379>auth 123123 redisの設定
[root@localhost redis-3.2.0]# cat/vim redis.conf
Redisは多くのパラメータをサポートしていますが、デフォルト値があります. daemonize:デフォルトではredisはバックグラウンドで実行されません.バックグラウンドで実行する必要がある場合はyes に値を変更します. pidfile Redisがバックグラウンドで実行する場合、Redisはデフォルトでpidファイルを/var/run/redisに配置する.pid、他のアドレスに設定できます.複数のredisサービスを実行する場合、異なるpidファイルとポート を指定する必要がある. bindは、RedisがIPアドレスからの要求のみを受信ことを指定する、設定しなければ全ての要求を処理し、生産環境においてはその を設定ことが望ましい. portリスニングポート、デフォルトは6379 timeoutクライアント接続時のタイムアウト時間を秒単位で設定します.クライアントがこの時間内に何の命令も出さない場合、接続 を閉じる. loglevel logレベルは4レベル、debug、verbose、notice、warningに分けられます.生産環境下で一般的にnotice を開く logfileはlogファイルアドレスを構成し、デフォルトでは標準出力、すなわちコマンドライン端末のウィンドウに印刷する を使用する. databasesデータベースの個数を設定し、SELECTコマンドを使用してデータベースを切り替えることができます.デフォルトで使用されるデータベースは0 です. saveデータベースミラーリングを行うRedisの頻度を設定します. rdbcompressionミラーバックアップ時に圧縮するかどうか . dbfilenameミラーバックアップファイルのファイル名 dirデータベースミラーバックアップのファイル配置のパス.ここでのパスとファイル名を別々に構成するのは、Redisがバックアップを行う際に、まず現在のデータベースの状態を1つのテンポラリファイルに書き込み、バックアップが完了すると、そのテンポラリファイルを上記で指定したファイルに置き換え、ここでのテンポラリファイルと上面で構成するバックアップファイルは、この指定したパスの中に 配置されるからである. slaveofこのデータベースを他のデータベースのスレーブ に設定する. masterauthプライマリ・データベース接続にパスワード検証が必要な場合は、ここで を指定します. requirepassクライアント接続後に他の指定を行う前に使用するパスワードを設定します.警告:redisはかなり速いので、比較的良いサーバの下で、外部のユーザーが1秒に150 K回のパスワードを試してみることができます.これは、暴力的な解読を防ぐために非常に強力なパスワードを指定する必要があることを意味します. maxclientsは、同時に接続する顧客の数を制限します.接続数がこの値を超えると、redisは他の接続要求を受信せず、クライアントが接続しようとするとerror情報が受信されます. maxmemoryはredisが使用できる最大メモリを設定します.メモリがいっぱいになった場合、setコマンドが受信された場合、redisは、keyの有効期限がまだ到着していないにもかかわらず、expire情報が設定されているkeyを除去しようとします.削除時には、期限切れに従って削除され、最も早く期限切れになるキーが最初に削除されます.expire情報を持つkeyがすべて削除された場合、エラーが返されます.これにより、redisは書き込み要求を受信せず、get要求のみを受信する.maxmemoryの設定は、redisをmemcachedのようなキャッシュとして使用するのに適しています. appendonlyのデフォルトでは、redisはバックグラウンドでデータベースミラーをディスクに非同期でバックアップしますが、このバックアップは非常に時間がかかり、バックアップも頻繁に行われません.ブレーキの電源を切ったり、プラグを抜いたりするなどの状況が発生すると、比較的広い範囲のデータが失われます.したがって、redisは、より効率的なデータベースバックアップと災害復旧方法を提供します.append onlyモードをオンにすると、redisは受信書き込み操作要求をappendonlyに追加する.aofファイルでは、redisが再起動されると、そのファイルから前の状態に戻ります.しかし、これはappendonlyをもたらします.aofファイルが大きすぎるので、redisはBGREWRITEAOF命令、appendonlyもサポートしています.aofは再整理します.だから、生産環境ではミラーを閉じてappendonlyを開くことをお勧めします.aofは、アクセスの少ない時間に毎日appendonlyを選択することができます.aofは一度書き直します. appendfsyncはappendonlyを設定する.aofファイルが同期する頻度.Alwaysは書き込み操作があるたびに同期することを示し,everysecは書き込み操作を蓄積し,毎秒同期することを示す.これは、実際のビジネスシーンに基づいて構成する必要がある . vm-enabledが仮想メモリサポートをオンにしているかどうか.redisはメモリデータベースであり、メモリがいっぱいになると新しい書き込み要求を受信できないため、redis 2.0では仮想メモリのサポートが提供される.しかし、redisでは、すべてのkeyがメモリに格納され、メモリが足りない場合はvalue値だけが交換領域に格納されることに注意してください.これにより、仮想メモリの使用は保証されますが、パフォーマンスはほとんど影響を受けません.また、vm-max-memoryをすべてのkey を置くのに十分に設定する必要があります. vm-swap-file仮想メモリのスワップファイルパス を設定する. vm-max-memory仮想メモリをオンにした後、redisが使用する最大物理メモリのサイズを設定します.デフォルトは0で、redisは彼のすべての交換ファイルを交換ファイルに置くことができて、できるだけ物理メモリを使用しないようにします.本番環境では、実際の状況に応じてこの値を設定必要があります.デフォルトの0 は使用しないほうがいいです. vm-page-size仮想メモリのページサイズを設定します.valueの値が大きい場合、例えばvalueにブログやニュースなどのすべての文章の内容を配置する場合は、大きく設定し、小さな内容を配置する場合は、小さく設定します. vm-pagesは、交換ファイルの合計page数を設定します.page table情報は物理メモリに格納され、8つのpageごとにRAMの1 byteが占有されることに注意してください.合計仮想メモリサイズ=vm-page-size*vm-pages vm-max-threadsは、VM IOが同時に使用するスレッドの数を設定します.メモリ交換を行う場合、データの符号化と復号化のプロセスがあるため、IOデバイスはハードウェア上で多くの同時読み書きをサポートすることはできませんが、保存しているvlaue値が大きい場合は、この値を大きくすることで、パフォーマンスを向上させることができます. glueoutputbufは、1つのTCP packetでクライアントに複数の応答を送信できるように、小さな出力をバッファリングし、具体的な原理と実際の効果はよく分かりません.だから注釈によると、あなたが確定していないときはyes に設定します. hash−max−zipmap−entriesはredis 2.0にhashデータ構造を導入した.hashに指定する要素の個数を超え、最大の要素が臨界を超えない場合、hashは特殊な符号化方式(メモリ使用を大幅に低減)で記憶され、ここでは2つの臨界値 を設定することができる. activerehashingがオンになると、redisは100ミリ秒ごとに1ミリ秒のCPU時間を使用してredisのhashテーブルを再hashし、メモリの使用を低減することができます.あなたの使用シーンでは、非常に厳格なリアルタイム性が必要で、Redisが時々要求に対して2ミリ秒の遅延を受け入れることができない場合は、この構成をnoにします.このような厳格なリアルタイム要件がない場合は、メモリ をできるだけ早く解放できるようにyesに設定することができる.
[root@localhost redis-3.2.0]# cat/vim redis.conf
Redisは多くのパラメータをサポートしていますが、デフォルト値があります.
if( 60 10000 keys ){
}else if( 300 10 keys ){
}else if( 900 1 keys ){
}