中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis集群主從實戰

發布時間:2020-04-23 15:46:20 來源:網絡 閱讀:714 作者:sky9890 欄目:關系型數據庫

? ? redis是一款非關系型數據庫,是一個高性能的key-value數據庫,經常被用作關系型數據庫的緩存數據庫以提高服務器訪問速度,特別適用于高并發場景。為了提升Redis高可用性,本次實戰,先講redis.conf配置文件,然后做主從庫配置。

1.redis.conf配置文件詳解

1)基本配置

daemonize no 是否以后臺進程啟動
databases 16 創建database的數量(默認選中的是database 0)

save 900 1 #刷新快照到硬盤中,必須滿足兩者要求才會觸發,即900秒之后至少1個關鍵字發生變化。
save 300 10 #必須是300秒之后至少10個關鍵字發生變化。
save 60 10000 #必須是60秒之后至少10000個關鍵字發生變化。
stop-writes-on-bgsave-error yes #后臺存儲錯誤停止寫。
rdbcompression yes #使用LZF壓縮rdb文件。
rdbchecksum yes #存儲和加載rdb文件時校驗。
dbfilename dump.rdb #設置rdb文件名。
dir ./? #設置工作目錄,rdb文件會寫入該目錄。

2)主從配置

slaveof <masterip> <masterport> 設為某臺機器的從服務器
masterauth <master-password> 連接主服務器的密碼
slave-serve-stale-data yes # 當主從斷開或正在復制中,從服務器是否應答
slave-read-only yes #從服務器只讀
repl-ping-slave-period 10 #從ping主的時間間隔,秒為單位
repl-timeout 60 #主從超時時間(超時認為斷線了),要比period大
slave-priority 100 #如果master不能再正常工作,那么會在多個slave中,選擇優先值最小的一個slave提升為master,優先值為0表示不能提升為master。

repl-disable-tcp-nodelay no #主端是否合并數據,大塊發送給slave
slave-priority 100 從服務器的優先級,當主服掛了,會自動挑slave priority最小的為主服

3)安全

requirepass foobared # 需要密碼
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 #如果公共環境,可以重命名部分敏感命令 如config

4)限制

maxclients 10000 #最大連接數
maxmemory <bytes> #最大使用內存

maxmemory-policy volatile-lru #內存到極限后的處理
volatile-lru -> LRU算法刪除過期key
allkeys-lru -> LRU算法刪除key(不區分過不過期)
volatile-random -> 隨機刪除過期key
allkeys-random -> 隨機刪除key(不區分過不過期)
volatile-ttl -> 刪除快過期的key
noeviction -> 不刪除,返回錯誤信息

解釋 LRU ttl都是近似算法,可以選N個,再比較最適宜T踢出的數據

maxmemory-samples 3

5)日志模式

appendonly no #是否僅要日志
appendfsync no # 系統緩沖,統一寫,速度快
appendfsync always # 系統不緩沖,直接寫,慢,丟失數據少
appendfsync everysec #折衷,每秒寫1次

no-appendfsync-on-rewrite no #為yes,則其他線程的數據放內存里,合并寫入(速度快,容易丟失的多)
auto-AOF-rewrite-percentage 100 當前aof文件是上次重寫是大N%時重寫
auto-AOF-rewrite-min-size 64mb aof重寫至少要達到的大小

6)慢查詢

slowlog-log-slower-than 10000 #記錄響應時間大于10000微秒的慢查詢
slowlog-max-len 128 # 最多記錄128條

7)服務端命令

time 返回時間戳+微秒
dbsize 返回key的數量
bgrewriteaof 重寫aof
bgsave 后臺開啟子進程dump數據
save 阻塞進程dump數據
lastsave

slaveof host port 做host port的從服務器(數據清空,復制新主內容)
slaveof no one 變成主服務器(原數據不丟失,一般用于主服失敗后)

flushdb 清空當前數據庫的所有數據
flushall 清空所有數據庫的所有數據(誤用了怎么辦?)

shutdown [save/nosave] 關閉服務器,保存數據,修改AOF(如果設置)

slowlog get 獲取慢查詢日志
slowlog len 獲取慢查詢日志條數
slowlog reset 清空慢查詢

info []

config get 選項(支持*通配)
config set 選項 值
config rewrite 把值寫到配置文件
config restart 更新info命令的信息

debug object key #調試選項,看一個key的情況
debug segfault #模擬段錯誤,讓服務器崩潰
object key (refcount|encoding|idletime)
monitor #打開控制臺,觀察命令(調試用)
client list #列出所有連接
client kill #殺死某個連接 CLIENT KILL 127.0.0.1:43501
client getname #獲取連接的名稱 默認nil
client setname "名稱" #設置連接名稱,便于調試

8)連接命令

auth 密碼 #密碼登陸(如果有密碼)
ping #測試服務器是否可用
echo "some content" #測試服務器是否正常交互
select 0/1/2... #選擇數據庫
quit #退出連接

2.Redis緩存服務器命令行中常用命令如下:
127.0.0.1:6379> config get *??#獲取Redis服務器所有配置信息

127.0.0.1:6379> config set loglevel notice? ? ?#總共有4個日志級別可供選擇

127.0.0.1:6379> config set requirepass "sky9899"??#配置redis訪問密碼

127.0.0.1:6379> auth sky9899

redis-cli -h host -p port -a password? ? #遠程連接Redis數據庫

[root@redis_slave bin]# redis-cli -h 192.168.153.142 -p 6379 -a sky9899??#實例

127.0.0.1:6379> role? #返回主從實例所屬角色

Redis集群主從實戰

Redis集群主從實戰

127.0.0.1:6379> info? ? ?#獲取redis服務器的各種信息和統計數值

127.0.0.1:6379> slaveof 192.168.153.143 6379? ?#指定服務器的從服務器

3.Redis集群實戰

Redis主從復制,當用戶往master端寫入數據時,通過Redis sync機制將數據文件發送到slave,slave也會執行相同的操作確保數據一致。

Redis主庫配置:redis.conf

daemonize no

pidfile /var/run/redis.pid

port 6379

tcp-backlog 511

# bind 127.0.0.1

timeout 0

tcp-keepalive 0

loglevel notice

logfile ""

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

slave-serve-stale-data yes

slave-read-only yes

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

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-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

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

從庫192.168.153.143:redis.conf配置

daemonize no

pidfile /var/run/redis.pid

port 6379

slaveof? 192.168.153.142 6379? ?? #指定主庫IP及端口號

tcp-backlog 511

# bind 127.0.0.1

timeout 0

tcp-keepalive 0

loglevel notice

logfile ""

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./? ?#設置工作目錄,rdb文件會寫入該當前目錄,也可以指定新目錄。

slave-serve-stale-data yes

slave-read-only yes

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

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-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

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

4.測試結果:

1)192.168.153.142:Redis主庫操作

[root@redis_master bin]# ./redis-cli

127.0.0.1:6379> set sky9899? www.sky9899.com

OK

127.0.0.1:6379> set sky9890? ?www.sky9890.com

OK

127.0.0.1:6379> get sky9899

"www.sky9899.com"

127.0.0.1:6379> get sky9890

"www.sky9890.com"

Redis集群主從實戰

2)192.168.153.143: Redis從庫操作

127.0.0.1:6379>?

[root@redis_slave bin]# ./redis-cli?

127.0.0.1:6379> get sky9899

"www.sky9899.com"

127.0.0.1:6379> get sky9890

"www.sky9890.com"

127.0.0.1:6379>?

Redis集群主從實戰

小結,通過主從庫操作的結果顯示,說明主從庫配置成功。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘谷县| 福建省| 吴川市| 六枝特区| 礼泉县| 视频| 城口县| 霍山县| 华阴市| 莱州市| 青田县| 梁平县| 宁阳县| 青海省| 将乐县| 柞水县| 保亭| 溧水县| 婺源县| 梓潼县| 汉中市| 镇平县| 江陵县| 临朐县| 姚安县| 广南县| 徐闻县| 乾安县| 吉林市| 乌鲁木齐县| 托克逊县| 洛隆县| 寿光市| 岢岚县| 金堂县| 呼和浩特市| 阿鲁科尔沁旗| 吐鲁番市| 临桂县| 玛纳斯县| 北宁市|