1. 程式人生 > >redis學習教程四《管理、備份、客戶端連接》

redis學習教程四《管理、備份、客戶端連接》

node 讀文件 配置文件 cluster config 方案 then connect ram

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) ""

Shell

默認情況下,此屬性為空,這表示還沒有為此實例設置密碼。您可以通過執行以下命令更改此屬性。
127.0.0.1:6379> CONFIG set requirepass "yiibai"
OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "yiibai"

Shell

設置密碼後,如果任何客戶端運行命令而不進行身份驗證,則會返回一個(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學習教程四《管理、備份、客戶端連接》