redis4.0安裝、主從複製

centos 6.8 x86_64redis

安裝基本庫
yum install -y wget make gcc tclcentos

下載最新穩定版
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar zxvf redis-4.0.1.tar.gz
cd redis-4.0.1
make
make install服務器

用自帶的腳本添加爲系統服務
cd utils
./install_server.sh異步

Welcome to the redis service installer
This script will help you easily set up a running redis servertcp

Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] /etc/redis/redis.conf
Please select the redis log file name [/var/log/redis_6379.log] /var/log/redis.log
Please select the data directory for this instance [/var/lib/redis/6379] /var/lib/redis/redis
Please select the redis executable path [/usr/local/bin/redis-server]回車
Selected config:
Port           : 6379
Config file    : /etc/redis/redis.conf
Log file       : /var/log/redis.log
Data dir       : /var/lib/redis/redis
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!測試

系統內核參數優化
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
echo "net.core.somaxconn = 1024" >> /etc/sysctl.conf
sysctl -p優化

cat  /proc/sys/net/core/somaxconnui

echo never > sys/kernel/mm/transparent_hugepage/enabledthis

啓動
service redis_6379 startspa

中止

service redis_6379 stop
or在客戶端
redis-cli
>shutdown

測試的話kill -9,省得輸入密碼,呵呵

1、主從配置

一、將主redis配置文件redis.conf中的
tcp-backlog 511改成1024
daemonize no 改成 yes
requirepass 生成環境建議設置>10位複雜password
masterauth 設置slave複製認證密碼
dir ./改成具體目錄/data/redis/

service redis restart

二、修改從redis配置文件redis.conf中的
daemonize no 改成 yes
requirepass 生成環境建議設置>10位複雜password
slaveof masterip
masterauth 設置爲master上設置的密碼
dir ./改成具體目錄/data/redis/

service redis restart

三、測試數據同步

主redis:
# redis-cli
> auth password
> set name abc
OK
> get name
"abc"

從redis:
# redis-cli
> auth password
> get name
"abc"

四、默認是讀寫分離的

從redis只讀:
# redis-cli
> set name 123
(error) READONLY You can't write against a read only slave.


2、主從切換

一、中止主redis
# redis-cli
>shutdown

二、將從redis設成主redis
# redis-cli
>slaveof NO ONE
OK

三、測試從redis是否切換從主redis

# redis-cli
> set name 123
OK
> get name
"123"

四、原來的主redis恢復正常了,從新切換回去

1)將如今的主redis的數據保存

# redis-cli
> get name
"abc"
> set name 123
OK
> get name
"123"
> save
OK
> get name
"123"

2)將如今的主redis的/data/redis/dump.rdb文件拷貝覆蓋到原來主redis的根目錄/data/redis/

3)啓動原來的主redis
sevice redis restart

4)將原來slave(上面切換爲master的)切換爲master

# redis-cli
>slaveof masterIP
OK

經常使用命令: > info  #查看server版本內存使用鏈接等信息   > client list  #獲取客戶鏈接列表   > client kill 127.0.0.1:33441 #終止某個客戶端鏈接   > dbsize #當前保存key的數量   > save #當即保存數據到硬盤   > bgsave #異步保存數據到硬盤   > flushdb #當前庫中移除全部key   > flushall #移除全部key從全部庫中   > lastsave #獲取上次成功保存到硬盤的unix時間戳   > monitor #實時監測服務器接收到的請求   > slowlog len #查詢慢查詢日誌條數   (integer) 3    > slowlog get #返回全部的慢查詢日誌,最大值取決於slowlog-max-len配置   > slowlog get 2 #打印兩條慢查詢日誌   > slowlog reset #清空慢查詢日誌信息  

相關文章
相關標籤/搜索