[redis]redis命令匯總(二),redis命令匯總
發布/訂閱pub/sub
命令格式 |
時間複雜度 |
命令描述 |
返回值 |
publish channel message |
O(N) |
將資訊message發送到指定的頻道channel |
收到資訊message的訂閱者數量 |
subscribe channel [channel ...] |
O(N) |
訂閱給定頻道的資訊 |
|
psubscribe pattern [pattern ...] |
O(N) |
訂閱符合給定模式的頻道 |
|
unsubscribe channel [channel ...] |
O(N) |
取消訂閱給定的頻道 |
|
punsubscribe pattern [pattern ...] |
O(N) |
取消訂閱符合給定模式的頻道 |
|
事務transaction
命令格式 |
時間複雜度 |
命令描述 |
返回值 |
watch key [key ...] |
O(1) |
監視一個或多個key,如果在事務執行之前這個key被其他命令所改動,那麼事務將被打斷 |
返回總是OK |
unwatch |
O(1) |
取消watch命令對所有key的監視 |
返回總是OK |
multi |
O(1) |
標記一個事務塊的開始。事務塊內的多條命令會按照先後順序被放進一個隊列當中,最後由exec命令原子性地執行 |
返回總是OK |
discard |
O(1) |
取消事務,放棄執行事務塊內的所有命令 |
返回總是OK |
exec |
O(N) |
執行所有事務塊內的命令 |
當操作被打斷時,返回空值 nil。 |
指令碼script
命令格式 |
時間複雜度 |
命令描述 |
返回值 |
eval script numkeys key [key ...] arg [arg ...] |
視情況而定 |
執行一個lua指令碼 |
|
evalsha sha1 numkeys key [key ...] arg [arg ...] |
視情況而定 |
根據給定的shal校正碼,對緩衝在伺服器中的指令碼進行求值。 將指令碼緩衝到伺服器的操作可以通過script load 命令進行。這個命令的其他地方,比如參數的傳入方式,都和eval命令一樣。 |
|
script exists script [script ...] |
O(N) |
檢查指令碼是否存在於緩衝中,並不理解執行 |
1存在,0不存在 |
script flush |
O(N) |
刪除指令碼緩衝中的所有指令碼 |
總是返回 OK |
script kill |
O(1) |
終止目前在執行的指令碼,若且唯若這個指令碼沒有執行過任何寫操作時,這個命令才生效 |
成功OK,失敗:錯誤碼 |
script load script |
O(N) |
載入指定的lua指令碼到指令碼緩衝中 |
給定script的sha1校正和 |
串連connection
命令格式 |
命令描述 |
返回值 |
auth password |
伺服器驗證給定的密碼 通過get config requirepass 來擷取密碼 |
|
ping |
檢測伺服器是否正在運行 |
成功返回pong |
select index |
切換到給定的資料庫,預設使用0號資料庫 |
|
echo message |
列印給定的字串,測試時使用 |
|
quit |
關閉當前串連 |
|
伺服器server
命令格式 |
時間複雜度 |
命令描述 |
返回值 |
time |
O(1) |
返回當前伺服器時間 |
第一個字串是當前的時間戳記 第二個字串是當前第一秒已經逝去的微秒數 |
dbsize |
O(1) |
返回當前資料庫的key的數量 |
數量 |
bgrewriteaof |
O(N) |
在後台非同步重寫aof檔案以反應當前資料庫的狀態 |
反饋資訊 |
bgsave |
O(N) |
在後台非同步儲存當前資料庫的資料到磁碟。 用戶端可以通過 LASTSAVE 命令查看相關資訊,判斷 BGSAVE 命令是否執行成功。 |
反饋資訊 |
save |
O(N) |
同步儲存當前資料庫的資料到磁碟 |
儲存成功時返回 OK |
lastsave |
O(1) |
返回最近一次redis成功將資料儲存到磁碟上的時間戳記 |
一個unix時間戳記 |
slaveof host port |
O(n) O(1) |
在redis運行時動態修改複製(replication)功能的行為。 可以將當前伺服器轉變為指定伺服器的從屬伺服器。 如果當前伺服器已經是某個主伺服器的從屬伺服器,那麼執行 slaveof host port 將使當前伺服器停止對舊主伺服器的同步,丟棄舊資料集,轉而開始對新主伺服器進行同步。O(n) 如果,對一個從屬伺服器執行命令 slaveof no one 將使得這個從屬伺服器關閉複製功能,並從從屬伺服器轉變回主伺服器,原來同步所得的資料集不會被丟棄。O(1) |
總是返回 OK |
flushall |
|
清空整個redis伺服器的資料,(刪除所有資料庫的所有key) |
總是返回 OK |
flushdb |
O(1) |
清空當前資料庫中的所有key |
總是返回 OK |
shutdown |
|
停止所有用戶端 |
執行失敗時返回錯誤。 執行成功時不返回任何資訊,伺服器和用戶端的串連斷開,用戶端自動結束。 |
slowlog subcommand [argument] |
|
管理redis的慢查詢日誌 |
|
info [section] |
O(1) |
返回redis伺服器的各種資訊 |
|
config get parameter |
|
擷取配置參數的值 |
|
config set parameter value |
|
配置參數設定為指定值 |
當設定成功時返回 OK ,否則返回一個錯誤。 |
config resetstat |
O(1) |
重設info命令中的某些統計資料 |
總是返回 OK |
debug object key |
O(1) |
擷取key的調試資訊 |
|
debug segfault |
|
執行一個不合法的記憶體訪問,來是redis伺服器崩潰,僅在開發是用於debug類比 |
|
monitor |
|
即時列印出redis伺服器接收到的命令,調試用 |
總是返回 OK |
sync |
|
用於複製功能(replication)的內部命令 |
|
client list |
O(N) |
擷取用戶端串連到伺服器的串連列表 |
|
client kill ip:port |
O(N) |
關閉地址為ip:port的用戶端 |
當指定的用戶端存在,且被成功關閉時,返回 OK 。 |
client setname connection-name |
O(1) |
為當前串連分配一個名字 |
設定成功時返回 OK 。 |
client getname |
O(1) |
返回client setname命令為串連設定名字 |
如果串連沒有設定名字,那麼返回空白回複; 如果有設定名字,那麼返回名字。 |
擷取,設定,控制用戶端資訊 |
client list,client getname; clent kill;client setname,shutdown |
擷取設定伺服器資訊 |
info,config get,time,dbsize config set,config resetstat, |
調試 |
debug object,debug setfault,monitor |
持久化 |
bgrewriteaof,bgsave,save,lastsave, |
刪除資料庫鍵 |
flushall,flushdb |
控制主從伺服器 |
slaveof |