【redis 服務器端命令】
TIME 查看時間戳與微秒數
DBSIZE 查看當前庫中的key數量
BGREWRITEAOF 後臺進程重寫AOF
BGSAVE 後臺保存rdb快照
SAVE 保存rdb快照
LASTSAVE 上次保存時間
SLAVEOF 設爲slave服務器
FLUSHALL 清空所有db
FLUSHDB 清空當前db
SHUTDOWN[""|save|nosave] 斷開連接,關閉服務器
SLOWLOG 顯示慢查詢
INFO 顯示服務器信息
CONFIG GET 獲取配置信息
CONFIG SET 設置配置信息
MONITOR 打開控制檯
SYNC 主從同步
CLIENT LIST 客戶端列表
CLIENT KILL 關閉某個客戶端
CLIENT SETNAME 爲客戶端設置名字
CLIENT GETNAME 獲取客戶端名字
【觀察參數】
1: 內存
# Memory
used_memory:859192 數據結構的空間
used_memory_rss:7634944 實佔空間
mem_fragmentation_ratio:8.89 前2者的比例,1.N爲佳
2: 主從複製
# Replication
role:slave
master_host:192.168.1.128
master_port:6379
master_link_status:up
3:持久化
# Persistence
rdb_changes_since_last_save:0
rdb_last_save_time:1375224063
4: fork耗時
#Status
latest_fork_usec:936 上次持久化花費微秒
5: 慢日誌
config get/set slowlog-log-slower-than
CONFIG get/SET slowlog-max-len
slow log get 獲取慢日誌
【準備工作】
重新複製最原始的安裝包裏的redis.conf 到對應目錄,打開,修改如下:
然後複製redis.conf 爲 redis6380.conf,修改如下:
然後啓動6379服務器,會看到已配置的 /var/rdb 下生成了 appendonly6379.aof 文件:
【運維常用的server端命令】
TIME 查看時間戳與微秒數
DBSIZE 查看當前庫中的key數量
BGREWRITEAOF 後臺進程重寫AOF
此命令之前說過,可以手動重新寫入最終的aof
BGSAVE 後臺保存rdb快照
SAVE 保存rdb快照
LASTSAVE 上次保存時間
手動保存後,就會立即生成 .rdb 文件;lastsave可以查看上次手動保存rdb的時間。
/*下面兩個命令慎用!!!*/
FLUSHALL 清空當前服務器的所有db,包括select0,select1,select2....所有的庫都會被清空。
FLUSHDB 只清空當前db.
[重要1] INFO 顯示服務器全部信息
◆ INFO後面可以直接跟上想要獲取的子階段的內容,例如:INFO Server/ INFO Memory / ...
上面通過 INFO 得到的數據,最主要是觀察如下幾個:
① Memory(內存)
used_memory:859192 #實際佔用的數據結構的空間
used_memory_rss:7634944 #理論上分配的空間
mem_fragmentation_ratio:8.89 #前2者的比例,1.N爲佳。如果此值過大,說明redis的內存的碎片化嚴重,可以導出再導入一次.
② Persistence (持久化的信息)
rdb_changes_since_last_save:0 #自從上次rdb改動之後,又有多少改動
rdb_last_save_time:1375224063 #上次改動保存的時間
③ Status中的fork耗時:
latest_fork_usec:936 #上次導出rdb快照,持久化花費微秒
注意: 如果某實例有10G內容,導出需要2分鐘,每分鐘寫入10000次,導致不斷的rdb導出,磁盤始處於高IO狀態.
④ Replication (主從複製的信息)
——→ 當前是沒有從服務器的情況
——→ 接下來配置6381服務器作爲6379的從服務器,並啓動:
vim redis6381.conf:
保存:
然後再在主服務器 6379 使用 INFO命令,觀察 Replication 部分,結果如下:
CONFIG GET 獲取配置信息
#例如,獲取是否需要密碼,requirepass
# Slowlog 顯示慢查詢(注:多慢才叫慢)
答: 由slowlog-log-slower-than 10000 來指定,(單位是微秒);意思就是查詢時間超過10000微秒的就會記錄下來。
# 服務器儲存多少條慢查詢的記錄?由 slowlog-max-len 128(條) 來做限制:
CONFIG SET 設置配置信息
#例如,設置慢查詢的時間限制由10000微秒 改爲 100微秒:
SLOWLOG 顯示慢查詢
# slowlog get N 獲取慢日誌
SHUTDOWN[""|save|nosave] 斷開連接,關閉服務器
MONITOR 打開控制檯
SYNC 主從同步
CLIENT LIST 客戶端列表
CLIENT KILL 關閉某個客戶端
CLIENT SETNAME 爲客戶端設置名字
CLIENT GETNAME 獲取客戶端名字
Slaveof master-Host port , 把當前實例設爲master的slave
Info [Replication/CPU/Memory..] 查看redis服務器的信息
◆ 對於不小心清空所有數據了的補救措施!
Flushall 清空所有庫所有鍵
Flushdb 清空當前庫所有鍵
Showdown [save/nosave]
注: 如果不小心運行了flushall, 立即 shutdown nosave ,關閉服務器
然後 手工編輯aof文件, 去掉文件中的 “flushall ”相關行, 然後開啓服務器,就可以導入回原來數據.
如果,flushall之後,系統恰好bgrewriteaof了,那麼aof就清空了,數據丟失.
【實例演示】
操作過程中,不小心flushall 了
此時,aof文件是存在的
趕緊執行 shutdown nosave
然後打開aof文件,刪掉最後面的“flushall”,保存。重啓服務就可以了。