Centos7 Redis主從搭建配置的實(shí)現(xiàn)
一、環(huán)境介紹
Redis—master 172.18.8.19
Redis—slave 172.18.8.20
二、redis主的配置
#創(chuàng)建redis數(shù)據(jù)目錄 mkdir -p /data0/redis_trade #redis主配置文件 root># cat redis_6379.conf |grep -Ev "^$|^#" bind 172.18.8.19 protected-mode yes port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize yes supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile "/var/log/redis_6379.log" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump_6379.rdb dir /data0/redis_trade slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 requirepass Allwelltokok appendonly yes appendfilename "appendonly_6379.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-size -2 list-compress-depth 0 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes rename-command FLUSHALL ZYzv6FOBdwflW2nX rename-command EVAL S9UHPKEpSvUJMM rename-command FLUSHDB D60FPVDJuip7gy6l client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes
三、redis從配置
root># cat redis_6379.conf |grep -Ev "^$|^#" bind 172.18.8.20 protected-mode yes port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize yes supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile "/var/log/redis_6379.log" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump_6379.rdb dir /data0/redis_trade slaveof 172.18.8.19 6379 -----從庫比主庫多這2行配置參數(shù) masterauth Allwelltokok -----從庫比主庫多這2行配置參數(shù) slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 requirepass Allwelltokok appendonly yes appendfilename "appendonly_6379.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-size -2 list-compress-depth 0 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes rename-command FLUSHALL ZYzv6FOBdwflW2nX rename-command EVAL S9UHPKEpSvUJMM rename-command FLUSHDB D60FPVDJuip7gy6l client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes
四、redis啟動腳本
root># cat /etc/init.d/redis_6379 #!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. # chkconfig: 2345 90 10 source /etc/init.d/functions REDISPORT=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/usr/local/redis/etc/redis_${REDISPORT}.conf" AUTH="Allwelltokok" BIND_IP='172.18.8.19' start(){ if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF fi if [ "$?"="0" ] then echo "Redis is running..." fi } stop(){ if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -h $BIND_IP -a $AUTH -p $REDISPORT SHUTDOWN sleep 1 while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi } restart(){ stop start } status(){ ps -ef|grep redis-server|grep -v grep >/dev/null 2>&1 if [ $? -eq 0 ];then echo "redis server is running" else echo "redis server is stopped" fi } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status ;; *) echo "Usage: /etc/init.d/redis {start|stop|status|start}" >&2 exit 1 esac
五、啟動服務(wù)
root># /etc/init.d/redis_6379 start
查看日志
root># tail -100f /var/log/redis_6379.log 5563:S 29 Jun 22:14:23.236 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.12 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 5563 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 5563:S 29 Jun 22:14:23.237 # Server started, Redis version 3.2.12 5563:S 29 Jun 22:14:23.237 * The server is now ready to accept connections on port 6379 5563:S 29 Jun 22:14:23.237 * Connecting to MASTER 172.18.8.19:6379 5563:S 29 Jun 22:14:23.237 * MASTER <-> SLAVE sync started 5563:S 29 Jun 22:14:23.237 * Non blocking connect for SYNC fired the event. 5563:S 29 Jun 22:14:23.238 * Master replied to PING, replication can continue... 5563:S 29 Jun 22:14:23.238 * Partial resynchronization not possible (no cached master) 5563:S 29 Jun 22:14:23.239 * Full resync from master: c9f303069f87253011bf39369366732a2e88b389:1 5563:S 29 Jun 22:14:23.304 * MASTER <-> SLAVE sync: receiving 77 bytes from master 5563:S 29 Jun 22:14:23.305 * MASTER <-> SLAVE sync: Flushing old data 5563:S 29 Jun 22:14:23.305 * MASTER <-> SLAVE sync: Loading DB in memory 5563:S 29 Jun 22:14:23.305 * MASTER <-> SLAVE sync: Finished with success 5563:S 29 Jun 22:14:23.305 * Background append only file rewriting started by pid 5567 5563:S 29 Jun 22:14:23.329 * AOF rewrite child asks to stop sending diffs. 5567:C 29 Jun 22:14:23.329 * Parent agreed to stop sending diffs. Finalizing AOF... 5567:C 29 Jun 22:14:23.329 * Concatenating 0.00 MB of AOF diff received from parent. 5567:C 29 Jun 22:14:23.329 * SYNC append only file rewrite performed 5567:C 29 Jun 22:14:23.330 * AOF rewrite: 0 MB of memory used by copy-on-write 5563:S 29 Jun 22:14:23.337 * Background AOF rewrite terminated with success 5563:S 29 Jun 22:14:23.337 * Residual parent diff successfully flushed to the rewritten AOF (0.00 MB) 5563:S 29 Jun 22:14:23.337 * Background AOF rewrite finished successfully
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Redis list 類型學(xué)習(xí)筆記與總結(jié)
這篇文章主要介紹了Redis list 類型學(xué)習(xí)筆記與總結(jié),本文著重講解了關(guān)于List的一些常用方法,比如lpush 方法、lrange 方法、rpush 方法、linsert 方法、 lset 方法等,需要的朋友可以參考下2015-06-06Spring?Boot?3.0x的Redis?分布式鎖的概念和原理
Redis?分布式鎖是一種基于?Redis?的分布式鎖解決方案,它的原理是利用?Redis?的原子性操作實(shí)現(xiàn)鎖的獲取和釋放,從而保證共享資源的獨(dú)占性,這篇文章主要介紹了適合?Spring?Boot?3.0x的Redis?分布式鎖,需要的朋友可以參考下2024-08-08Redis中Zset類型常用命令的實(shí)現(xiàn)
Zset是Redis的一種有序集合數(shù)據(jù)類型,Zset通過壓縮列表和跳躍表兩種底層編碼方式支持小數(shù)據(jù)集和大數(shù)據(jù)集,支持多種操作,包括添加、查詢、刪除元素以及集合運(yùn)算等,具有不同的時間復(fù)雜度,感興趣的可以了解一下2024-10-10Redis+AOP+自定義注解實(shí)現(xiàn)限流
這篇文章主要為大家詳細(xì)介紹了如何利用Redis+AOP+自定義注解實(shí)現(xiàn)個小功能:自定義攔截器限制訪問次數(shù),也就是限流,感興趣的可以了解一下2022-06-06聊聊使用RedisTemplat實(shí)現(xiàn)簡單的分布式鎖的問題
這篇文章主要介紹了使用RedisTemplat實(shí)現(xiàn)簡單的分布式鎖問題,文中給大家介紹在SpringBootTest中編寫測試模塊的詳細(xì)代碼,需要的朋友可以參考下2021-11-11WINDOWS中REDIS主從配置實(shí)現(xiàn)代碼解析
這篇文章主要介紹了WINDOWS中REDIS主從配置實(shí)現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08