次の Redis チュートリアル コラムでは、Redis キャッシュの原則について説明します。困っている友人の役に立てば幸いです。
1. Redis とは ##Redis は C 言語で書かれた高性能のオープンソース Nosql (非リレーショナル データベース) であり、データはメモリに保存されます。 Redis は、従来のリレーショナル データベースとは異なる、キーと値の形式で保存されます。従来のデータベースのいくつかの基本要件には必ずしも準拠していません。たとえば、SQL 標準、トランザクション、テーブル構造などに従っていません。非リレーショナル データベースは厳密にはデータベースではなく、構造化されたデータ ストレージ メソッドの集合です。 Java のデータ構造: 文字列、配列、リスト、セット マップ... Redis は、さまざまなデータ構造のデータにアクセスするために使用できるメソッドを多数提供します。
2. 機能 (利点)1. データはメモリに保存され、高速なアクセス速度と強力な同時実行機能を備えています
2. 保存された値の型をサポートしますstring(文字列)、list(リンクリスト)、set(セット)、zset(ソートセット - 順序付きセット)、hash(ハッシュタイプ)など、比較的多くあります。 3. Redis の出現により、memcached などのキー/値ストレージの欠点が大幅に補われ、場合によっては、リレーショナル データベース (MySQL など) に対して非常に優れた補助的な役割を果たすことができます。
4. Java、C/C、C#、PHP、JavaScript などのクライアントが提供されており、非常に使いやすいです。
5.Redis はクラスタリング (マスター/スレーブ同期、負荷分散) をサポートします。データはマスター サーバーから任意の数のスレーブ サーバーに同期でき、スレーブ サーバーは他のスレーブ サーバーに関連付けられたマスター サーバーになることができます。
6. 永続化をサポートし、ハードディスク上のファイルにデータを保存できます。
7. サブスクリプション/パブリッシュ機能をサポートします。QQ グループ
1. データ ストレージ: メモリに保存され、場合によってはディスクにも永続化されます。アクセス速度は速く、同時実行能力は強力で、停電後にデータが失われることはありません。
2. より多くの値のタイプをサポートします。
3. 複数のクライアント (言語 java php c# js)
4. スペースを拡張するクラスターをサポート 8G 8G 16G
5. オープンソース (無料で多くの人々によって維持されています)
#3. Redis サーバーをインストールします
Redis の公式ダウンロード サイトは http://redis.io/download で、そこにアクセスして最新のインストール プログラムをダウンロードできます 3.1. Windows の場合インストールと使用
1. Redis プログラム ソフトウェアをダウンロードします redisbin32 または redisbin64 を使用します
2. グリーン ソフトウェア、インストール不要、直接使用します
3. Redis サービスを開始します (構成ファイルありの起動、および構成ファイルなしの起動)
4. 操作のために Redis に接続します
cmd>{%redis%}/redis-cli -h ip address-p portnumber ip のデフォルトはローカルです -p デフォルトは 6379
redis-cli -h 172.16.6.248 -p 6379
cmd>{%redis%}/redis-cli
基本的な使用法
Redis は 2 つの異なるレベルの永続化メソッドを提供します。 redis.conf を変更することで設定できる RDB と AOF
永続化条件が満たされると永続化が保存され、まだ保存されていないデータは AOF ログ形式で保存されます。 それを保存。
Redis が起動すると、まずログ ファイル (一連のコマンド) が解析され、データが復元されます。次に、rdb ファイルもロードします (ユニオンを取得します)。
4.RDB モード
RDB 永続化では、指定された時間間隔内のデータ セットのポイントインタイム スナップショットを生成できます。このモードはデフォルトで有効になっています。 rdb モードをオフにする方法:
save "" save 900 1 //900 秒以内に少なくとも 1 回のストレージ同期の変更が必要です
save xxx save 60 10000
5 .AOF ログ追加モード
AOF は、サーバーによって実行されたすべての書き込み操作コマンドを永続的に記録し、サーバーの起動時にこれらのコマンドを再実行することでデータ セットを復元します。このモードはデフォルトでオフになっています。
aof モードをオンにする方法:
appendonly yes //オンにする場合は Yes、オフにする場合は no
#appendfsync always //新しいコマンドがあるたびに fsync を実行し、バッファ データをaof ファイル
#ここでは、everysec を有効にします
appendfsync Everysec //fsync 1 秒に 1 回
#appendfsync no //fsync は行いません (オペレーティング システムの処理に任せ、実行に時間がかかる場合があります) fsync)
他のパラメータを指定してください redis.conf 設定ファイルの詳細な説明を見てみましょう
6. Redis クラシックの実践的なシナリオ キャッシング
6.1 キャッシュを使用する理由
頻繁にクエリされるデータとめったに変更されないデータをキャッシュに保存して、データベース アクセスを減らし、データベースの負荷を軽減します。キャッシュは通常メモリ内にあり、アクセス速度は比較的高速です。
6.2 キャッシュに配置するのに適したデータ
頻繁なクエリ: キャッシュは、データ クエリへの効率的なアクセスを提供することです。
ほとんど変更されません: 変更するときはキャッシュとデータベースも同時に変更する必要があります
例: 地域データ、製品分類、データ ディクショナリ メニュー (権限に関係なく)
6.3 選択します適切なもの キャッシュ
Hibernate 2 レベル キャッシュ、mybatis 2 レベル キャッシュ、redis 中央キャッシュ
Hibernate 2 レベル キャッシュ、mybatis 2 レベル キャッシュはデフォルトではクラスター キャッシュをサポートしません。redis を使用します
6.4 データの格納方法
1) json: 格納するデータを json 型の文字列に変換します
キャッシュ保存時:
Java オブジェクト--------- -->json 文字列
キャッシュの取得:
json 文字列-------->Java オブジェクト-
Json フレームワーク: jdk-json-lib jackson gson fastjson
2) バイナリ ストレージ: バイナリ シリアル化フレームワークに保存されるデータをシリアル化し、
7. メニュー キャッシュを実装します
以上がRedis キャッシュ原則のシンプルでわかりやすい紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。