目次
メリット
永続データの 2 つの形式 AOF、RDB、およびこれら 2 つの AOF と RDB の混合使用をサポートします
redis の永続性の実装
redis のデプロイ
永続化 RDB 構成
永続化 AOF 構成
redis を再起動して有効にし、永続性を確認します
redis マスター/スレーブ レプリケーション
別のサーバーを起動してインストールします。 redis
マスターサーバー上に新しいキー値を作成し、自動同期をテストしますスレーブ サーバーの
ホームページ データベース SQL Redis 永続化構成 (画像とテキストの紹介)

Redis 永続化構成 (画像とテキストの紹介)

Jun 17, 2020 pm 04:40 PM
redis

Redis 永続化構成 (画像とテキストの紹介)

Redis の永続化設定 (画像とテキストの紹介)

redis の簡単な紹介

redis はオープンソースで可用性の高い

c 言語 で書かれた非リレーショナル データベース (単なるデータベースではなく NoSQL) キーと値データベース。 従来のデータベースとは異なり、redis データは

memory

に存在するため、読み取りおよび書き込みのパフォーマンスは一般的に高くなく、1 秒あたり 100,000 操作に達する可能性があるため、広く使用されています。方向性、たとえば、Web サイト アーキテクチャで Tomcat とセッションを共有する、データベース キャッシュを実行する、など。 redis のメリットとデメリット

メリット

    読み取りと書き込みの速度が速く、読み取りは 110000 回/秒に達し、書き込みは高速です。 81000回/秒に達することができます。C言語で書かれたコードはエレガントで、シングルスレッドアーキテクチャであるため、実行効率が高く、速度が速いです。
  1. サポート複数のデータ構造、文字列 (これも最も一般的に使用される文字列)、ハッシュ、リスト、セット、順序付きセット (ZSET)

  2. ナチュラル カウンター、キー有効期限機能、メッセージ キューなど。
  3. 多くのクライアント言語をサポート、php、java、python をサポート
  4. データ永続性をサポート
  5. マスター/スレーブ レプリケーション、セントリ、高可用性クラスターなど、さまざまな高可用性アーキテクチャが付属しています
  6. 欠点

    データをメモリに保存するため、サーバーの性能に対する要求は厳しく、業務量に応じてメモリの購入量を選択できますが、オンラインでの拡張は難しいため、最初の購入には注意が必要です
  1. 永続性については上で説明しましたが、永続性とは何ですか?
  2. 永続化は、サーバーがダウンした場合にメモリ内のすべてのデータが失われるのを防ぐために、メモリ内のデータのディスクへの書き込みをサポートします。

  3. 永続性を実現する方法

永続データの 2 つの形式 AOF、RDB、およびこれら 2 つの AOF と RDB の混合使用をサポートします

注: これらを有効にすると、redis AOF が優先されます。データ回復ですが、RDB がデフォルトの永続化方法です。

AOF 永続化: redis によって実行されたすべてのコマンドを別途指定されたログ ファイルに記録します。再起動またはデータのリストアの際には、ログ ファイル内のデータがリストアされます。

RDB : ただスナップショットを作成する場合と同様に、構成ファイルで定義された保存パラメータに従ってスナップショットの期間を定義し、ハードディスクに保存します。dump.rdb ファイルが生成されます。


AOF と RDB の比較:

1AOF ファイルは rdb よりも頻繁に更新されます。復元には aof を使用することが優先されます。

    aof は rdb
  1. よりも安全です。

  2. rdb のパフォーマンスは aof より優れていますが、データ量が多い場合、ログの回復速度は rdb より遅くなります。
  3. 連続読み取りおよび書き込みの場合、 rdb がスナップショットを取得すると、データ遅延が発生し、復元されたデータは不完全になります
  4. Redis データ構造
データ型

ストレージ値一般的に使用される操作コマンド StringSET (作成)、GET (表示)、DEL (削除)、MSET (バッチ作成)、MGET (キャッシュ用のバッチ ビュー RPUSH (作成、存在する場合は右側に追加)、LPUSH (左側に追加)、LRABGE range (表示範囲値)、RPOP (右側の最後のものを削除)、LPOP (左側の最後のものを削除) HMSET オブジェクト (オブジェクトをターゲットにしてオブジェクトのキー値を作成)、HGET オブジェクト (オブジェクトのパラメーターを表示)SADD (セットの作成)、SMEMBERS (セットの表示)、SREM (セットの値の削除)、SDIFF set 1 set 2 (差分セットの検索)、SINTER Set 1 Set 2 (和集合の検索)、 SUNION セット 1 セット 2 (結合の検索) SET と同じ #

redis の永続性の実装

redis のデプロイ

1. データ ディレクトリを作成する

mkdir -p /redis/soft
mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}
ログイン後にコピー

なぜ conf、logs、pid ディレクトリを自分で作成するのか説明してください。初期化は自動的に生成されます
後続の Redis クラスター (少なくとも 6 つ) を実現するために、1 台のホスト上で複数の Redis プロセスを起動する予定です (作者のコンピューターの構成では、任意に操作することはできません)

2. redis インストール パッケージ

cd /redis/soft
wget http://download.redis.io/releases/redis-5.0.6.tar.gz
ログイン後にコピー

3 をダウンロードします。redis を /opt/redis_cluster/

tar zxf redis-5.0.6.tar.gz -C /opt/redis_cluster/
ln -s /opt/redis_cluster/redis-5.0.6  /opt/redis_cluster/redis  #做好软连接,方便自己管理
ログイン後にコピー

4 に解凍します。ディレクトリを変更して redis をインストールします

	cd /opt/redis_cluster/redis
	make && make install
ログイン後にコピー

5. 独自の構成を記述しますfile/opt /redis_cluster/redis_6379/conf/6379.conf
重要なコンテンツを追加

添加:
bind 127.0.0.1 192.168.10.1
port 6379
daemonize yes  #开启daemon进程pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid
logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log
databases 16
dbfilename redis.rdb  #RDB持久化文件dir /opt/redis_cluster/redis_6379 #RDB存放的位置
ログイン後にコピー

6. 現在の Redis サービスを開始します
redis-server / opt/redis_cluster/redis_6379/ conf/6379.conf

[root@redis-master ~]# netstat -anpt |grep 6379tcp        0      0 192.168.10.1:6379       0.0.0.0:*               LISTEN      49206/redis-server  
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      49206/redis-server  
tcp        0      0 127.0.0.1:41400         127.0.0.1:6379          TIME_WAIT   -                   
tcp        0      0 192.168.10.1:6379       192.168.10.8:46220      ESTABLISHED 49206/redis-server  
[root@redis-master ~]#
ログイン後にコピー

永続化 RDB 構成

構成ファイルを変更し、保存項目を追加します

vim /opt/redis_cluster/redis_6379/conf/6379.conf	
添加:
save 900 1           #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。save 300 10          #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。save 60 500        #在60秒(1分钟)之后,如果至少有500个key发生变化,则dump内存快照
ログイン後にコピー

永続化 AOF 構成

構成ファイルの変更と同じです
appendonly を追加し、永続性を有効にします

vim /opt/redis_cluster/redis_6379/conf/6379.conf
添加:
appendonly yes				#启用AOF持久化appendfilename "redis.aof"	#指定AOF文件名appendfsync everysec		#每秒同步一次
ログイン後にコピー

redis を再起動して有効にし、永続性を確認します

redis-cli shutdownredis-server /opt/redis_cluster/redis_6379/conf/6379.conf
ログイン後にコピー

Redis にキーと値のペアを追加しますデータベース

#!/bin/bashfor i in {1..500}do 
	redis-cli set k_$i v_$idone
ログイン後にコピー

Redis 永続化構成 (画像とテキストの紹介)

この時点でデータベースを閉じると、メモリ内の内容は確実に失われますが、今後は絶対に失われることはなく、永続的なものになります。 files

[root@redis-master ~]# redis-cli shutdown[root@redis-master ~]# redis-server /opt/redis_cluster/redis_6379/conf/6379.conf [root@redis-master ~]# [root@redis-master ~]# redis-cli127.0.0.1:6379> keys k_500
1) "v_500"127.0.0.1:6379>
ログイン後にコピー

Redis 永続化構成 (画像とテキストの紹介)

redis マスター/スレーブ レプリケーション

Redis マスター/スレーブ レプリケーションを行う必要があるのはなぜですか?
単一障害点を解決するには、データを 1 つ以上のレプリカ サーバー (スレーブ サーバー) にコピーして冗長性を実現し、障害回復と負荷分散の目的を達成します。

別のサーバーを起動してインストールします。 redis

1.簡単にするために、前のマスターを直接コピーします

[root@redis-master ~]# scp -rp /opt/redis_cluster/ root@192.168.10.8: /opt

2. 直接make installコンパイルせずにredisをインストールします。マスターはすでに

設定ファイル

cd /opt/redis_cluster/redis
vim /opt/redis_cluster/redis_6379/conf/6379.conf 
修改:
	bind 127.0.0.1 192.168.10.8
	slaveof 192.168.10.1 6379  #添加master的ip port保存退出
ログイン後にコピー

3を変更しています。サービスを開始します

redis-server /opt/redis_cluster/redis_6379/conf/6379.conf

マスターサーバー上に新しいキー値を作成し、自動同期をテストしますスレーブ サーバーの

Redis 永続化構成 (画像とテキストの紹介)
Redis 永続化構成 (画像とテキストの紹介)
注:
同期プロセス中、スレーブ サーバーはマスター データベースのデータをコピーすることしかできず、手動で追加および追加することはできません。データを変更する;
スレーブサーバーが変更する必要がある場合 データを同期から切断する必要がある場合:
[root@redis-slave ~]# redis-cli smileof no one

プロンプトを表示するだけです OK

マスターがダウンしている場合 マシンが実行中の場合、スレーブ サーバーは最初に 手動で同期を切断できます この時点では、スレーブ サーバーは独立した個人です 他のスレーブ サーバーその後、自分自身をポイントして、切り替えを完了できます

##この記事は、https://blog から転載されています。 .csdn.net/weixin_43815140/article/details/106128848

その他の関連知識については、

PHP 中国語 Web サイト

をご覧ください。 !

アプリケーション シナリオ 文字列
、キーと値のペアの有効期限、保存Redis でのセッション、期限切れ後の削除、ユーザー情報のキャッシュ、MySQL パーツ データのキャッシュ、モール クーポンの有効期限など。 list List
一般的に zset と組み合わせて使用​​され、主にランキング、人気度・クリック数ランキング、生放送などで使用されます。 リスト上位兄弟間でのランキングなど。 hash Hash
通常、キーは ID ですまたは一意の識別子であり、値は製品情報、個人情報、ニュースなどの対応する詳細情報です。 SET Unordered set
共通の趣味、共通の友人などのソーシャル ネットワークに適用される交差点、結合、コレクションを検索します。 ZSET Ordered Set
#リストと組み合わせてランキングを完成させることができます

以上がRedis 永続化構成 (画像とテキストの紹介)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Redisクラスターモードの構築方法 Redisクラスターモードの構築方法 Apr 10, 2025 pm 10:15 PM

Redisクラスターモードは、シャードを介してRedisインスタンスを複数のサーバーに展開し、スケーラビリティと可用性を向上させます。構造の手順は次のとおりです。異なるポートで奇妙なRedisインスタンスを作成します。 3つのセンチネルインスタンスを作成し、Redisインスタンスを監視し、フェールオーバーを監視します。 Sentinel構成ファイルを構成し、Redisインスタンス情報とフェールオーバー設定の監視を追加します。 Redisインスタンス構成ファイルを構成し、クラスターモードを有効にし、クラスター情報ファイルパスを指定します。各Redisインスタンスの情報を含むnodes.confファイルを作成します。クラスターを起動し、CREATEコマンドを実行してクラスターを作成し、レプリカの数を指定します。クラスターにログインしてクラスター情報コマンドを実行して、クラスターステータスを確認します。作る

Redis-Serverが見つからない場合はどうすればよいですか Redis-Serverが見つからない場合はどうすればよいですか Apr 10, 2025 pm 06:54 PM

Redis-Serverが見つからない問題を解決するための手順:インストールを確認して、Redisが正しくインストールされていることを確認します。環境変数Redis_hostとredis_portを設定します。 Redis Server Redis-Serverを起動します。サーバーがRedis-Cli pingを実行しているかどうかを確認します。

基礎となるRedisを実装する方法 基礎となるRedisを実装する方法 Apr 10, 2025 pm 07:21 PM

Redisはハッシュテーブルを使用してデータを保存し、文字列、リスト、ハッシュテーブル、コレクション、注文コレクションなどのデータ構造をサポートします。 Redisは、スナップショット(RDB)を介してデータを維持し、書き込み専用(AOF)メカニズムを追加します。 Redisは、マスタースレーブレプリケーションを使用して、データの可用性を向上させます。 Redisは、シングルスレッドイベントループを使用して接続とコマンドを処理して、データの原子性と一貫性を確保します。 Redisは、キーの有効期限を設定し、怠zyな削除メカニズムを使用して有効期限キーを削除します。

Redisのすべてのキーを表示する方法 Redisのすべてのキーを表示する方法 Apr 10, 2025 pm 07:15 PM

Redisのすべてのキーを表示するには、3つの方法があります。キーコマンドを使用して、指定されたパターンに一致するすべてのキーを返します。スキャンコマンドを使用してキーを繰り返し、キーのセットを返します。情報コマンドを使用して、キーの総数を取得します。

Redisのソースコードを読み取る方法 Redisのソースコードを読み取る方法 Apr 10, 2025 pm 08:27 PM

Redisソースコードを理解する最良の方法は、段階的に進むことです。Redisの基本に精通してください。開始点として特定のモジュールまたは機能を選択します。モジュールまたは機能のエントリポイントから始めて、行ごとにコードを表示します。関数コールチェーンを介してコードを表示します。 Redisが使用する基礎となるデータ構造に精通してください。 Redisが使用するアルゴリズムを特定します。

Redisのバージョン番号を表示する方法 Redisのバージョン番号を表示する方法 Apr 10, 2025 pm 05:57 PM

Redisバージョン番号を表示するには、次の3つの方法を使用できます。(1)情報コマンドを入力し、(2) - versionオプションでサーバーを起動し、(3)構成ファイルを表示します。

Redisコマンドの使用方法 Redisコマンドの使用方法 Apr 10, 2025 pm 08:45 PM

Redis指令を使用するには、次の手順が必要です。Redisクライアントを開きます。コマンド(動詞キー値)を入力します。必要なパラメーターを提供します(指示ごとに異なります)。 Enterを押してコマンドを実行します。 Redisは、操作の結果を示す応答を返します(通常はOKまたは-ERR)。

Redisでデータをクリアする方法 Redisでデータをクリアする方法 Apr 10, 2025 pm 08:03 PM

次の2つの方法を使用して、Redisのデータをクリアすることができます。Flushallコマンド:データベース内のすべてのキーと値を削除します。 Config ResetStatコマンド:データベースのすべての状態(キー、値、その他の統計を含む)をリセットします。

See all articles