繰り返します
パイプライン
伝統的な要求/応答プロトコル
- クライアントは、ブロックがサーバーの応答を待って、サーバーにクエリを送信します
- サーバーは、クエリを処理し、結果を返します
パイプライン
何ですか
クライアントが応答を受信しなかった場合でも、要求を送信し、最後に古い応答に対処することができます
ご注意ください
それは、コマンドラインの大規模な番号を送信する必要がある場合、クライアントはパイプラインのサーバーを使用するように要求を送信すると、サーバーは、順次、対応する応答を格納し、いくつかのメモリを必要とし、コマンド10K、例えば、合理的な数でバッチとしてそれらを送信することが好ましいです。回答を読んで、再度10kのコマンドを送信し、というように
利点
- RTT時間を削減
- 毎秒所定の操作Redisのサーバー実行の総量増加:ソケットI / Oは非常に高価で、コンテキストスイッチを含むユーザドメインからコアドメインへシステム読出し及び書込み動作反射は、あります
- スピードを10回処理
連絡先のスクリプティング
ネットワークのオーバーヘッドを削減します。複数の要求は、ネットワークの遅延を減らすために、スクリプトの形式で送信することができます
アトミック操作。全体として全体のスクリプトが実行するRedisの他のコマンドの途中に挿入されないであろう。そのため、競合状態を気にせずに、スクリプトを書くプロセスでトランザクションを使用せずに、発生します。
多重化。クライアントから送信された足跡は、他のクライアントが同じロジックを実行するスクリプトコードを使用せずに多重化することができるように、Redisの中に恒久的に存在することになります。
eval 用来直接执行 lua 脚本: EVAL script numkeys key [key ...] arg [arg ...] > eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second 1) "key1" 2) "key2" 3) "first" 4) "second"
Redisの設定
Redisのは、組み込みのデフォルトの設定ファイルを使用せずにブートを設定するにはできますが、この設定はテストと開発目的のために推奨されます。
正しい方法は、通常と呼ばれる構成のRedis Redisのコンフィギュレーションファイルを提供することにありますredis.conf
。
フォーマット:keyword argument1 argument2 ... argumentN
コマンドラインパラメータを渡します
./redis-server --port 6380 --slaveof 127.0.0.1 6379
- コマンドラインパラメータの形式は、渡された
redis.conf
ドキュメントで使用されているとまったく同じフォーマットパラメータを、プリフィックスのキーワードがあります--
。 - これは、パラメータが変換される内部メモリに一時プロファイル(転写プロファイル(もしあれば)を接続することができるユーザ)を生成
redis.conf
フォーマット。
渡すパラメータサーバーランタイム
config set
config get
あなたは、サービスを停止し、再起動せずに情報を設定し、クエリ構成することができます- 実行時の設定変更は影響しません
redis.conf
、ファイルの内容を、次の時間あなたはまだ古い構成情報を使用してサービスを開始します config rewrite
あなたが更新できるredis.conf
コンテンツ、コンテンツ、およびコンフィギュレーションのコメントセクションがカバーされていない変更されません
キャッシュに設定さRedisの
キャッシュに設定Redisのは、各キーが独立したセットが時間を有効期限が切れていないと、制限の期限が切れています
例如如下设置,当超过 2mb 的内存限制,便会过期 maxmemory 2mb maxmemory-policy allkeys-lru