#リストと組み合わせてランキングを完成させることができます |
| #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
ログイン後にコピー
この時点でデータベースを閉じると、メモリ内の内容は確実に失われますが、今後は絶対に失われることはなく、永続的なものになります。 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 マスター/スレーブ レプリケーションを行う必要があるのはなぜですか?
単一障害点を解決するには、データを 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
マスターサーバー上に新しいキー値を作成し、自動同期をテストしますスレーブ サーバーの
注:
同期プロセス中、スレーブ サーバーはマスター データベースのデータをコピーすることしかできず、手動で追加および追加することはできません。データを変更する;
スレーブサーバーが変更する必要がある場合 データを同期から切断する必要がある場合:
[root@redis-slave ~]# redis-cli smileof no one
プロンプトを表示するだけです OK
マスターがダウンしている場合 マシンが実行中の場合、スレーブ サーバーは最初に 手動で同期を切断できます
この時点では、スレーブ サーバーは独立した個人です 他のスレーブ サーバーその後、自分自身をポイントして、切り替えを完了できます
その他の関連知識については、
PHP 中国語 Web サイトをご覧ください。 !