天天看點

Redis學習筆記(五):資料備份與恢複、安全、性能測試、用戶端連接配接

Redis 資料備份與恢複

備份資料

Redis SAVE 指令用于建立目前資料庫的備份。

redis 127.0.0.1:6379> SAVE 
OK      

該指令将在 redis 安裝目錄中建立dump.rdb檔案。

Redis BGSAVE 在背景執行指令建立目前資料庫的備份。

127.0.0.1:6379> BGSAVE

Background saving started      

建立 redis 備份檔案也可以使用指令 BGSAVE,該指令在背景執行。

恢複資料

如果需要恢複資料,隻需将備份檔案 (dump.rdb) 移動到 redis 安裝目錄并啟動服務即可。擷取 redis 目錄可以使用 CONFIG 指令。

redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"      

Redis 安全

通過 redis 的配置檔案設定密碼參數,這樣用戶端連接配接到 redis 服務就需要密碼驗證,這樣 redis 服務更安全。

檢視是否設定了密碼驗證:

127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""      

預設情況下 requirepass 參數是空的,無需通過密碼驗證就可以連接配接到 redis 服務。

修改該參數:

127.0.0.1:6379> CONFIG set requirepass "password"
OK
127.0.0.1:6379> AUTH "password"
ok
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "password"      

設定密碼後,用戶端連接配接 redis 服務就需要密碼驗證,否則無法執行指令。

執行個體

127.0.0.1:6379> AUTH "password"
OK
127.0.0.1:6379> SET mykey "value"
OK
127.0.0.1:6379> GET mykey
"value"      

Redis 性能測試

redis 性能測試的基本指令:

redis-benchmark [option] [option value]      

redis 性能測試工具可選參數:

序号 選項 描述 預設值
1 -h 指定伺服器主機名 127.0.0.1
2 -p 指定伺服器端口 6379
3 -s 指定伺服器 socket
4 -c 指定并發連接配接數 50
5 -n 指定請求數 10000
6 -d 以位元組的形式指定 SET/GET 值的資料大小 2
7 -k 1=keep alive 0=reconnect 1
8 -r SET/GET/INCR 使用随機 key, SADD 使用随機值
9 -P 通過管道傳輸 <numreq> 請求 1
10 -q 強制退出 redis。僅顯示 query/sec 值
11 --csv 以 CSV 格式輸出
12 -l 生成循環,永久執行測試
13 -t 僅運作以逗号分隔的測試指令清單。
14 -I Idle 模式。僅打開 N 個 idle 連接配接并等待。

以下執行個體同時執行 10000 個請求來檢測性能:

Redis學習筆記(五):資料備份與恢複、安全、性能測試、用戶端連接配接

使用多個參數來測試 redis 性能:

Redis學習筆記(五):資料備份與恢複、安全、性能測試、用戶端連接配接

Redis 用戶端連接配接

Redis 通過監聽一個 TCP 端口或者 Unix socket 的方式來接收來自用戶端的連接配接,當一個連接配接建立後,Redis 内部會進行以下一些操作:

  • 首先,用戶端 socket 會被設定為非阻塞模式。
  • 然後為這個 socket 設定 TCP_NODELAY 屬性。
  • 最後建立一個可讀的檔案事件用于監聽這個用戶端 socket 的資料發送。

在服務啟動時設定最大連接配接數為 100000:

redis-server --maxclients 100000      

用戶端指令:

S.N. 指令 描述
1 CLIENT LIST 傳回連接配接到 redis 服務的用戶端清單
2 CLIENT SETNAME 設定目前連接配接的名稱
3 CLIENT GETNAME 擷取通過 CLIENT SETNAME 指令設定的服務名稱
4 CLIENT PAUSE 挂起用戶端連接配接,指定挂起的時間以毫秒計
5 CLIENT KILL 關閉用戶端連接配接

繼續閱讀