redis學習教程四《管理、備份、客戶端連接》
阿新 • • 發佈:2017-05-19
node 讀文件 配置文件 cluster config 方案 then connect ram
二:Redis備份
Redis數據庫可以使用安全的方案,使得進行連接的任何客戶端在執行命令之前都需要進行身份驗證。要保護Redis安全,需要在配置文件中設置密碼。
示例
三: 客戶端連接
註:關閉服務器
redis-cli進入redis客戶端 然後shutdown即可 提示需要驗證用戶 用AUTH password驗證之後關閉即可
redis學習教程四《管理、備份、客戶端連接》
一:Redis服務器命令Redis服務器命令
下表列出了與Redis服務器相關的一些基本命令。
序號 | 命令 | 說明 |
---|---|---|
1 | BGREWRITEAOF | 異步重寫僅追加的文件 |
2 | BGSAVE | 將數據集異步保存到磁盤 |
3 | CLIENT KILL [ip:port] [ID client-id] | 殺死或斷開指定的客戶端的連接 |
4 | CLIENT LIST | 獲取到服務器的客戶端連接列表 |
5 | CLIENT GETNAME | 獲取當前連接的名稱 |
6 | CLIENT PAUSE timeout | 在指定時間內停止處理來自客戶端的命令 |
7 | CLIENT SETNAME connection-name | 設置當前連接名稱 |
8 | CLUSTER SLOTS | 獲取群集插槽到節點映射的數組 |
9 | COMMAND | 獲取Redis命令詳細信息的數組 |
10 | COMMAND COUNT | 獲取Redis命令的總數 |
11 | COMMAND GETKEYS | 提取鍵給出一個完整的Redis的命令 |
12 | BGSAVE | 將數據集異步保存到磁盤 |
13 | COMMAND INFO command-name [command-name …] | 獲取特定Redis命令詳細信息的數組 |
14 | CONFIG GET parameter | 獲取配置參數的值 |
15 | CONFIG REWRITE | 使用內存中配置來重寫配置文件 |
16 | CONFIG SET parameter value | 將配置參數設置為給定值 |
17 | CONFIG RESETSTAT | 重置由INFO返回的統計信息 |
18 | DBSIZE | 返回所選數據庫中的鍵數量 |
19 | DEBUG OBJECT key | 獲取有關鍵的調試信息 |
20 | DEBUG SEGFAULT | 使服務器崩潰 |
21 | FLUSHALL | 從所有數據庫中刪除所有鍵 |
22 | FLUSHDB | 刪除當前數據庫中的所有鍵 |
23 | INFO [section] | 獲取有關服務器的信息和統計信息 |
24 | LASTSAVE | 獲取上次成功保存到磁盤的UNIX時間戳 |
25 | MONITOR | 監聽服務器實時接收的所有請求 |
26 | ROLE | 返回實例在復制上下文中的角色 |
27 | SAVE | 將數據集同步保存到磁盤 |
28 | SHUTDOWN [NOSAVE] [SAVE] | 將數據集同步保存到磁盤,然後關閉服務器 |
29 | SLAVEOF host port | 使服務器成為另一個實例的從屬,或將其提升作為主服務器 |
30 | SLOWLOG subcommand [argument] | 管理Redis慢查詢日誌 |
31 | SYNC | 用於復制的命令 |
32 | TIME | 返回當前服務器的時間 |
二:Redis備份
Redis數據庫可以使用安全的方案,使得進行連接的任何客戶端在執行命令之前都需要進行身份驗證。要保護Redis安全,需要在配置文件中設置密碼。
示例
下面的示例顯示了保護Redis實例的步驟。
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""
默認情況下,此屬性為空,這表示還沒有為此實例設置密碼。您可以通過執行以下命令更改此屬性。
127.0.0.1:6379> CONFIG set requirepass "yiibai"
OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "yiibai"
設置密碼後,如果任何客戶端運行命令而不進行身份驗證,則會返回一個(error) NOAUTH Authentication required.的錯誤信息。 因此,客戶端需要使用AUTH命令來驗證。
語法
以下是AUTH命令的基本語法。
127.0.0.1:6379> AUTH password
Shell
示例
127.0.0.1:6379> AUTH "yiibai"
OK
127.0.0.1:6379> SET mykey "Test value"
OK
127.0.0.1:6379> GET mykey
"Test value" 三: 客戶端連接
Redis在配置的監聽TCP端口和Unix套接字上等待和接受客戶端的連接(如果已啟用)。 當接受新的客戶端連接時,執行以下操作 -
- 由於Redis使用復用和非阻塞
I/O
,因此客戶端套接字處於非阻塞狀態。 - 設置
TCP_NODELAY
選項是為了確保連接不延遲。 - 創建可讀文件事件,以便Redis能夠在套接字上讀取新數據時收集客戶端查詢。
最大客戶數
在Redis配置文件(redis.conf
)中,有一個名稱為maxclients
的屬性,它描述了可以連接到Redis的客戶端的最大數量。
以下是命令的基本語法。
127.0.0.1:6379> config get maxclients
1) "maxclients"
2) "3984"
Shell
默認情況下,此屬性設置為10000
(取決於操作系統的文件描述符限制的最大數量),但您可以更改此屬性。
示例
在以下示例中,我們已將客戶端的最大數目設置為100000
,並啟動服務器。
[email protected]:~$ redis-server --maxclients 100000
Shell
客戶端命令
編號 | 命令 | 描述 |
---|---|---|
1 | CLIENT LIST | 返回連接到Redis服務器的客戶端列表 |
2 | CLIENT SETNAME | 為當前連接分配/設置新的名稱 |
3 | CLIENT GETNAME | 返回由CLIENT SETNAME 設置的當前連接的名稱 |
4 | CLIENT PAUSE | 這是一個連接控制命令,能夠將所有Redis客戶端按指定的時間量(以毫秒為單位)掛起 |
5 | CLIENT KILL | 此命令關閉指定的客戶端連接。 |
redis-cli進入redis客戶端 然後shutdown即可 提示需要驗證用戶 用AUTH password驗證之後關閉即可
redis學習教程四《管理、備份、客戶端連接》