Redis実戦(2)実装と試用


一、Redisデータベースのインストール方法Linuxバージョンのインストール方法について説明します~~~
私のはubuntu
wget http://download.redis.io/releases/redis-2.8.2.tar.gz
tar -xzvf redis-2.8.2.tar.gz
cd redis-2.8.2
make
#    redis-conf   
daemonize no, no  yes,      。

makeがエラーを報告し続ける場合、error:jemalloc/jemalloc.h: No such file or directory
make MALLOC=libcを実行すればよい
Redisサービスを起動し、ソースコードのコンパイルが完了すると、redis-2.8.2ディレクトリの下にredisがある.confファイル、このファイルはRedisのプロファイルです.プロファイルでRedisを起動する方法は次のとおりです.
#        
src/redis-server /home/jane/soft/redis-2.8.2/redis.conf

Redisに入り、次のようなヒントがあれば、Redisの旅を始めることができます.
jane@Jane:~/soft/redis-2.8.2$ src/redis-cli
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>

Redisサービスの停止
src/redis-cli shutdown

二、構成Reids
プロフェッショナルDBAの場合、インスタンスの起動時に多くのパラメータが追加され、システムが非常に安定して動作するようになります.これにより、起動時にRedisの後にパラメータが追加され、mysqlのように起動プロファイルを読み出すように構成ファイルのパスを指定してデータベースを起動することができます.
Redisは多くのパラメータをサポートしていますが、デフォルト値があります.
daemonize:デフォルトでは、redisはバックグラウンドで実行するものではありません.バックグラウンドで実行する必要がある場合は、その値をyespidfileに変更します.Redisがバックグラウンドで実行する場合、Redisはデフォルトでpidファイルを/var/run/redisに配置します.pid、他のアドレスに設定できます.複数のredisサービスを実行する場合、異なるpidファイルとポートbindを指定してRedisがIPアドレスからの要求のみを受信することを指定する必要があります.設定しない場合、すべての要求が処理されます.本番環境では、このportリスニングポートを設定したほうがいいです.6379 timeoutがクライアント接続を設定したときのタイムアウト時間は秒単位です.クライアントがこの間何の命令も出さなかった場合、接続loglevelogレベルを4レベル、debug、verbose、notice、warningに分けて閉じます.本番環境では一般的にnoticelogfile構成logファイルアドレスを開き、デフォルトでは標準出力、すなわちコマンドライン端末のウィンドウに印刷されたdatabases設定データベースの個数を使用し、SELECTコマンドを使用してデータベースを切り替えることができます.デフォルトで使用されるデータベースは、0 saveがRedisをデータベースミラーリングする頻度を設定します.if(60秒以内に10000個のkeysが変化する場合){ミラーバックアップを行う}else if(300秒以内に10個のkeysが変化する){ミラーバックアップを行う}else if(900秒以内に1個のkeysが変化する){ミラーバックアップを行う}rdbcompressionミラーバックアップを行う場合、圧縮dbfilenameミラーバックアップファイルのファイル名dirデータベースミラーバックアップのファイル配置のパスを行うかどうか.ここでのパスとファイル名を別々に設定するのは、Redisがバックアップを行う際に、現在のデータベースの状態を一時ファイルに書き込み、バックアップが完了すると、その一時ファイルを上記で指定したファイルに置き換え、ここでの一時ファイルと上に構成されたバックアップファイルは、この指定されたパスの中に配置されます.slaveeofは、このデータベースを他のデータベースとして設定します.マスターデータベース接続にパスワード検証が必要な場合、ここで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をすべてのkeyvm-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-pagesvm-max-threads VM IOの同時使用スレッド数を設定します.メモリ交換を行う場合、データの符号化と復号化のプロセスがあるため、IOデバイスはハードウェア上で多くの同時読み書きをサポートできないが、保存しているvlaue値が大きい場合は、その値を大きくするか、パフォーマンスを向上させるglueoutputbufは小さな出力を緩やかに保存することができる.1つのTCPパッケージでクライアントに複数の応答を送信できるようにするには、具体的な原理と実際の効果はよく分かりません.したがって、注釈によれば、yeshash-max-zipmap-entriesに設定してredis 2.0にhashデータ構造を導入します.hashには、指定された要素の数を超える最大の要素が含まれており、臨界を超えていない場合、hashは特殊な符号化方式(メモリ使用を大幅に削減)で格納され、ここでは、これら2つの臨界値activerehashingがオンになった後、redisは100ミリ秒ごとに1ミリ秒のCPU時間を使用してredisのhashテーブルを再hashするように設定することができる.メモリの使用量を減らすことができます.あなたの使用シーンでは、非常に厳格なリアルタイム性が必要で、Redisが時々要求に対して2ミリ秒の遅延を受け入れることができない場合は、この構成をnoにします.このような厳格なリアルタイム要件がない場合は、yesに設定して、メモリをできるだけ早く解放できます.
三、操作データベース
次に、データベースを簡単に操作します.
#    ,     key-value  
127.0.0.1:6379> set name jane
OK
#    ,   key      value
127.0.0.1:6379> get name
"jane"
#    ,     key      value
127.0.0.1:6379> del name
(integer) 1
#       ,   0,    key    ;1     
127.0.0.1:6379> exists name
(integer) 0

次編では、具体的にRedisデータ型と操作を使います!!!